1359二进制原码

来源:互联网 发布:房产中介软件 编辑:程序博客网 时间:2024/06/14 17:52

1359:二进制原码

难度: 倔强青铜    时间限制: 1000MS   空间限制: 64MB   提交数: 91   通过数: 35

题目内容

题目描述:

原码(true form)是一种计算机中对数字的二进制定点表示方法。

原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(因此0的原码有两种表示:+0和-0,分别是00000000和10000000),其余位表示数值的大小。

例如,我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011

现在,假设我们采用8位二进制来表示原码,根据输入的整数n,输出其对应的原码表示

注意,由于0的二进制原码有两种表示形式,所以我们只要求输出"正0",即00000000即可.

输入描述:

多组输入,每组输入一个整数n,占一行,-127<=n<=127

输出描述:

输出n的8位二进制原码表示

样例输入:

127

-1

样例输出:

01111111

10000001

#include <stdio.h>int main(){int n;while (scanf("%d", &n) != EOF) {int j = 7, a[8] = {0}; //a数组用来表示原码 if (n < 0) {    //负数时  首位为1 a[0] = 1;n = -n;}while (n != 0) {  //从第八位开始计算 a[j--] = n % 2;n = n / 2;}for (int i = 0; i <= 7; i++) //输出 printf("%d", a[i]);printf("\n");}return 0;}


原创粉丝点击