码迷,mamicode.com
首页 > 其他好文 > 详细

16进制,2进制,输出数的二进制表示

时间:2017-09-30 13:19:24      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:-128   int   char s   itoa   pre   字符串   strong   log   code   

itoa转换为2进制的char*字符串,输出,cout<<hex<<128输出16进制

https://www.zhihu.com/question/20329210   8为无符号的范围是-128——127,00——7f表示0到127,80——FF表示-128到-1

 

char ss[33];           -1的补码16进制表示为0xffffffff,共需要32位,且高位不是0,所以需要33个字节来存;如果是-128呢?输出ffffff80,也需要33个字节;如果是128,只输出10000000,不需要33字节
cout << -1<< endl;
_itoa(-1, ss, 2);;

cout<<hex<<-128<<endl;     输出ffffff80;cout没有bin的形式可以输出二进制

cout<<128<<endl;       上句cout的状态为hex,会保留下来,所以这句也是输出80,80是128作为一个int的16进制表示

0x0——0x7fffffff赋值给int是非负整数,0x8000000——0xffffffff表示了[最大负数,-1]的范围,例如-1的16进制表示为0xffffffff

int  a=0xffffffff;    cout<<0xfffffff;为无符号的4294967295  4,294,967,295是最大的unsigned int(32位)值,输出a结果为-1,a=0xffffffe是-2

最小的int是0x80000000

 int a=0x80000000,a的值为-2,147,483,648; 

1 int d = 0xffffffff; 
2 cout << d << endl;
3 cout << 0x7fffffff << endl;
4 cout << 0x1 << endl;
5 cout << 0xffffffff << endl;

 

16进制,2进制,输出数的二进制表示

标签:-128   int   char s   itoa   pre   字符串   strong   log   code   

原文地址:http://www.cnblogs.com/hchacha/p/7614393.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!