网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月09日漏签0天
c++吧 关注:618,591贴子:2,111,255
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 下一页 尾页
  • 15回复贴,共2页
  • ,跳到 页  
<<返回c++吧
>0< 加载中...

C语言入门学习 ——进制转化

  • 只看楼主
  • 收藏

  • 回复
  • 凌云
  • |
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在计算机的世界里,只有0和1,也就是二进制。
我们如何把一个十进制的数转成二进制或者其他进制,其实还是很简单的,看下面这张图

十进制转二进制
十进制的123转成二进制就是1111011,转成几进制都是一个道。
一、二进制
1.1 二进制是计算机采用的表示数字的方式, 每个数位上只有0和1;
1.2 任何整数一定可以采用二进制的方式表示, 小数的二进制这里不多说;
1.3 字节内部采用二进制方式记录数字, 一个字节分成八段, 每个分段有一个编号, 最右边分段编号是0, 向左逐渐递增
1.4 相邻分段之间有2倍关系, 某个分段的数字相当于2的编号次方, 如图:
二进制转十进制:把每个数位单独转换后把所有的转换结果求和
例:01001110 = 2^6 + 2^3 + 2^2 + 2^1 = 64 + 8 + 4 + 2 = 78
十进制转二进制:
方法一:(不适用于处理大数字)先把十进制数字拆分成多个2的整数次方之和, 然后对每个结果单独转换, 最后其他数位补0。
59 = 32 + 16 + 8 + 2 + 1 = 2^5 + 2^4 + 2^3 + 2^1 + 2^0 = 00111011
方法二:除2取余, 逆序余数;

上述两种方法算出来的是二进制原码
计算机字节里采用二进制补码记录数字
所有非负数整数, 补码和原码一样

二、八进制
2.1 把二进制表示方式的所有数位从右向左每三个数位分成一组, 每组用一个0到7之间的数字代替可得到八进制表示方式
2.2 每三个数位可以采用421方法把二进制转化成八进制

2.3 可以在程序中使用八进制表示数字, 为了避免与十进制混淆, 需要在八进制前面加0(零)
2.4 %o可以作为八进制数的占位符

结果:
152 106
152 152
C语言学习群;339105301点击链接加入群【C语言学习】:C语言学习
三、十六进制
3.1 所有数位从右向左每四个数位分成一组, 每组用一个字母替换就得到对应的十六进制表示方式, 先把每组转换成十进制, 转换结果如果在0到9之间则用阿拉伯数字字符替换, 否则用‘a’到'f'这六个英文字母替换
3.2 每四个数位可以采用8421方法把二进制转化成十六进制

3.2 可以在程序中使用十六进制表示数字, 但是必须以0x做开头
3.3 %x %X 可以作为十六进制数的占位符(%x输出a-f, %X输出A-F)

结果:
0xab 0XAB
练习: 十进制转二进制

四、负数的二进制
4.1 先计算出相反非负数的二进制
4.2 把第一步的计算结果每个数位变成相反内容, 然后再加一
求:-5的二进制:
5: 0000 0101
取反: 1111 1010 + 1
-5: 1111 1011
4.3 上述方法算出来的是二进制补码, 可以直接记录在字节中
4.4 有符号的二进制补码中最左边的数位叫做符号位, 符号位是0表示正, 1表示负, 且符号位不能等同与正负号
4.5 当把一个占地大的整数类型数据赋值给占地小的整数类型存储区时只会保留部分二进制数据, 因此导致十进制表示方式发生变化。
4.6 当把一个占地小的整数赋值给占地大的整数类型存储区时要扩充二进制数位, 在有符号位的情况下扩充出来的二进制里全是符号位的数值, 无符号数据填充0;

结果:
ch = 44
num = 44
分析:300是整数占四个字节, 用二进制表示如下(ps: 只保留最右边的)
00000000 00000000 00000001 00101100
练习:计算下面的结果(结果在下方)

结果:
ch = -56
num = -56


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


2025-06-09 19:40:04
广告
  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
666


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
66


  • 飘不动了-
  • <
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
666


2025-06-09 19:34:04
广告
  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
默默


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
66


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
66


  • 。。。。。。。!!
  • ,
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
完全看不懂。。。。。


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
6


  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
so


2025-06-09 19:28:04
广告
  • wcjshlys
  • ^
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
6


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 15回复贴,共2页
  • ,跳到 页  
<<返回c++吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示