负数如何输出成八进制数?(例题讲解,快速易懂)

简介: 负数如何输出成八进制数?(例题讲解,快速易懂)

image.png


原码



就是一个数的二进制表示,是我们最熟悉的二进制有符号数的表示方式,正数的话符号位为0,负数为1。


15的原码就是0000 0000 0000 1111;-15的原码就是0000 0000 1000 1111



反码


反码是基于原码的变动,有两种情况,如果是正数的反码,就跟原码相同。如果是负数的反码,则除了符号位,其他全部取反

15的反码就是0000 0000 0000 1111;-15的反码就是0000 0000 1111 0000



补码


补码是基于反码的变动,有两种情况,如果是正数的补码,就跟原码反码都相同。如果是负数的补码,则在其反码的基础上,再加1

例:15的补码就是0000 0000 0000 1111;-15的补码就是0000 0000 1111 0001


这里我们举例int a=-2输出八进制



第一步


写出-2的补码(字节数请看

1111 1111 1111 1110


第二步


以3个bit为一组此时二进制数对应的十进制数为7,我们这里输出的是八进制,满8进位,所以取3个bit为一组从右到左分割得到:


1 111 111 111 111 110


这个就是八进制数的二进制表示,展开得到的数字是177776

相关文章
|
7月前
|
Python
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
如何判断一个数是质数? 要求:编写一个Python函数,输入一个整数,输出该整数是否为质数。质数是指大于1的自然数中,除了1和它本身以外不再有其他因数的数。
361 1
|
7月前
|
C语言
c语言编程练习题:7-37 输出整数各位数字
c语言编程练习题:7-37 输出整数各位数字
63 1
|
7月前
|
C语言
c语言编程练习题:7-28 求整数的位数及各位数字之和
c语言编程练习题:7-28 求整数的位数及各位数字之和
68 0
|
6月前
|
C语言
【C语言】输入一个正整数,判断其是否为素数
【C语言】输入一个正整数,判断其是否为素数
156 0
|
7月前
|
C语言
每天一道C语言编程(2^k进制数)
每天一道C语言编程(2^k进制数)
32 0
|
7月前
|
小程序 C语言
【C语言】输入一个十进制正整数,将它对应的二进制数的各位逆序,形成新的十进制数输出。题目分析及拓展应用。
【C语言】输入一个十进制正整数,将它对应的二进制数的各位逆序,形成新的十进制数输出。题目分析及拓展应用。
110 0
|
算法 搜索推荐 程序员
C语言第十三练——输入一个正整数,判断这个数是否是素数
C语言第十三练——输入一个正整数,判断这个数是否是素数
128 0
|
C语言
C语言实例:求水仙花数(阿姆斯壮数)和回文数(附带求一串数字的位数方法和每一位数字的计算方法)
C语言实例:求水仙花数(阿姆斯壮数)和回文数(附带求一串数字的位数方法和每一位数字的计算方法)
166 0
【C语言】输入一个整数,输出该数二进制表示中1的个数,其中负数用补码表示
输入一个整数,输出该数二进制表示中1的个数,其中负数用补码表示
【C语言】(错题整理) 寻找完数、字符串中各类字符数的统计、最大公约数和最小公倍数、回文数计算 (循环、函数相关内容)
本篇博客旨在整理最近在头歌遇到的难题、错题,对其进行分析并整理。 一、循环 1.寻找完数(计算因子例题) 一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出1000之内的所有完数。 这道题的首要任务就是找到各个数的因子,然后再对其进行判断。那么计算这个数的因子,我们可以用循环,试每个小于它的数对其进行求余%,结果为零即是因子。