社区
C语言
帖子详情
如何得出二进制补码?
lizo
2003-06-19 04:31:27
从键盘输入一个整数(long类型,32个二进制位),输出其二进制补码。
...全文
149
9
打赏
收藏
如何得出二进制补码?
从键盘输入一个整数(long类型,32个二进制位),输出其二进制补码。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lizo
2003-06-20
打赏
举报
回复
#include<stdio.h>
void disp_binary(long);
main()
{
long int num;
scanf("%ld",&num);
if(num>0) disp_binary(num);
else
{
num=(~num) + 1;
disp_binary(num);
}
return 0;
}
void disp_binary(long num)
{
register unsigned long k;
for(k=2147483648;k>0;k=k>>1)
{
if(k&num) printf("1");
else printf("0");
}
printf("\n");
}
i_jianyong
2003-06-20
打赏
举报
回复
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
long num;
cin >> num;
bool negative = false;
if (num < 0)
{
num = -num - 1;
negative = true;
}
bitset<32> comp_code(num);
if (negative)
{
comp_code = ~comp_code;
comp_code.set(31);
}
cout << comp_code << endl;
}
WYC2300
2003-06-19
打赏
举报
回复
根据正负取反再加减~~~````~~~~~
lzh7800
2003-06-19
打赏
举报
回复
这个方法可以一用:
#include <iostream>
void printBinary(const long val)
{
for(int i = 31; i>=0; i--)
if(val & (1 << i))
cout<< "1";
else
cout << "0";
}
int main()
{
printBinary(64000);
}
cnxiaohai
2003-06-19
打赏
举报
回复
#include <stdlib.h>
这个头是什么?
老师没教过~~~~~~~~~~~~~~~~~~~~
各位大大说说~~~~~~~~~~~~~~~~~~~~~~~
arfi
2003-06-19
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
long int num;
char str[80];
int len;
printf("Input the num:");
scanf("%ld", &num);
itoa(num, str, 2);
len = strlen(str);
for(;32-len;len++)
printf("0");
printf("%s\n", str);
}
短歌如风
2003-06-19
打赏
举报
回复
在当前大多数机器上都是用补码表示负数(整数类型)的,直接取相反数就行了。
标准算法是“取反加一”.也就是(~Value) + 1
以二进制输出有很多方法,最简单就是用递归算法:
函数:以二进制输出a
1:如果a > 1 则以二进制输出a/2;
2:输出a%2。
lizo
2003-06-19
打赏
举报
回复
如输入: 64000 则程序输出:
00000000000000001111101000000000
又如何呢?
谢谢
arfi
2003-06-19
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
void main()
{
long int num;
char str[80];
printf("Input the num:");
scanf("%ld", &num);
itoa(num, str, 2);
printf("%s\n", str);
}
八位计算机最小
二进制
,八位
二进制
补码
最小值
所以下面是学习啦小编给大家总结的八位
二进制
补码
最小值和
二进制
补码
知识点。八位
二进制
补码
最小值8位
二进制
补码
表示整数的最小值是 -128, 最大值是 +127.原因:正数的
补码
就是其本身,8位
二进制
最大正整数是 ...
二进制
补码
计算原理详解
二进制
负数的在计算机中采用
补码
的方式表示。很多人很好奇为什么使用
补码
,直接使用原码表示多好,看上去更加直观和易于计算。然而事实告诉我们,这种直观只是我们人类的一厢情愿罢了,在计算机看来,
补码
才是它们最...
二进制
补码
运算
二进制
负数的在计算机中采用
补码
的方式表示。很多人很好奇为什么使用
补码
,直接使用原码表示多好,看上去更加直观和易于计算。然而事实告诉我们,这种直观只是我们人类的一厢情愿罢了,在计算机看来,
补码
才是它们最...
二进制
补码
计算原理
二进制
补码
计算原理
二进制
补码
乘法除法_
二进制
乘法和除法
二进制
补码
乘法除法 1)
二进制
乘法 (1) Binary Multiplication) Binary numbers can be multiplied using two methods,
二进制
数可以使用两种方法相乘, Paper method: Paper method is similar to multiplication ...
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章