当前位置:首页 » 编程语言 » c语言各种进制表格
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言各种进制表格

发布时间: 2022-11-22 09:27:12

A. 用c语言编程打印十进制数1到256的二进制、八进制和十六进制数值表

以下程序在TURBOC上调试通过:

#include <stdio.h>
#include <limits.h>
void bit_print(int a)
{
int i;
int n;
unsigned long int mask;
n=sizeof(a)*CHAR_BIT;
mask=0x8000;
for (i=1; i<=n; ++i) {
putchar(((a&mask)==0)?'0':'1');
mask>>=1;
if (i%CHAR_BIT==0&&i<n) {
putchar(' ');
}
}
}
int main(void)
{
int i;
for (i=1; i<=256; i++) {
printf("%d\t",i);
bit_print(i);
putchar('\t');
printf("%o\t%X\n",i,i);
}
return 0;
}

输出内容为:
1 00000000 00000001 1 1
2 00000000 00000010 2 2
3 00000000 00000011 3 3
4 00000000 00000100 4 4
5 00000000 00000101 5 5
6 00000000 00000110 6 6
7 00000000 00000111 7 7
8 00000000 00001000 10 8
9 00000000 00001001 11 9
10 00000000 00001010 12 A
11 00000000 00001011 13 B
12 00000000 00001100 14 C
13 00000000 00001101 15 D
14 00000000 00001110 16 E
15 00000000 00001111 17 F
16 00000000 00010000 20 10
17 00000000 00010001 21 11
18 00000000 00010010 22 12
19 00000000 00010011 23 13
20 00000000 00010100 24 14
21 00000000 00010101 25 15
22 00000000 00010110 26 16
23 00000000 00010111 27 17
24 00000000 00011000 30 18
25 00000000 00011001 31 19
26 00000000 00011010 32 1A
27 00000000 00011011 33 1B
28 00000000 00011100 34 1C
…………
208 00000000 11010000 320 D0
209 00000000 11010001 321 D1
210 00000000 11010010 322 D2
211 00000000 11010011 323 D3
212 00000000 11010100 324 D4
213 00000000 11010101 325 D5
214 00000000 11010110 326 D6
215 00000000 11010111 327 D7
216 00000000 11011000 330 D8
217 00000000 11011001 331 D9
218 00000000 11011010 332 DA
219 00000000 11011011 333 DB
220 00000000 11011100 334 DC
221 00000000 11011101 335 DD
222 00000000 11011110 336 DE
223 00000000 11011111 337 DF
224 00000000 11100000 340 E0
225 00000000 11100001 341 E1
226 00000000 11100010 342 E2
227 00000000 11100011 343 E3
228 00000000 11100100 344 E4
229 00000000 11100101 345 E5
230 00000000 11100110 346 E6
231 00000000 11100111 347 E7
232 00000000 11101000 350 E8
233 00000000 11101001 351 E9
234 00000000 11101010 352 EA
235 00000000 11101011 353 EB
236 00000000 11101100 354 EC
237 00000000 11101101 355 ED
238 00000000 11101110 356 EE
239 00000000 11101111 357 EF
240 00000000 11110000 360 F0
241 00000000 11110001 361 F1
242 00000000 11110010 362 F2
243 00000000 11110011 363 F3
244 00000000 11110100 364 F4
245 00000000 11110101 365 F5
246 00000000 11110110 366 F6
247 00000000 11110111 367 F7
248 00000000 11111000 370 F8
249 00000000 11111001 371 F9
250 00000000 11111010 372 FA
251 00000000 11111011 373 FB
252 00000000 11111100 374 FC
253 00000000 11111101 375 FD
254 00000000 11111110 376 FE
255 00000000 11111111 377 FF
256 00000001 00000000 400 100

B. C语言中的整数可用哪几种进制表示如何表示

C语言只有十进制和十六进制,平常用的一般都是十进制,十六进制是以0x开头的,其他进制可以通过itoa函数很容易转换得到,头文件是stdlib.h,itoa有三个参数,第一个参数是十进制的数,第二个参数是用来存储转换后的内容,第三个参数就是想转换的进制类型,比如二进制就写2

C. C语言中八进制和16进制怎么表示

一、八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:

//合法的八进制数

int a = 015; //换算成十进制为 13

int b = -0101; //换算成十进制为 -65

int c = 0177777; //换算成十进制为 65535

//非法的八进制

int m = 256; //无前缀 0,相当于十进制

int n = 03A2; //A不是有效的八进制数字

二、十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,例如:

//合法的十六进制int a = 0X2A; //换算成十进制为 42

int b = -0XA0; //换算成十进制为 -160

int c = 0xffff; //换算成十进制为 65535

//非法的十六进制

int m = 5A; //没有前缀 0X,是一个无效数字

int n = 0X3H; //H不是有效的十六进制数字

二进制化为八进制

整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。

小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。

例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8

以上内容参考:网络-八进制

D. 请用c语言编写一个程序,打印一个与十进制数(从1到256) 相等的二进制数,八进制数和十六进制数表

八进制和十六进制可以直接用%o和%x输出。

二进制这里自己弄了下。

#include<stdio.h>

intmain(intargc,char*argv[])
{
inti,j,n;
chartwo[9]={0};

for(i=1;i<=255;i++)
{
/*十进制*/
printf("%4d",i);

/*二进制*/
for(j=7,n=i;j>=0;j--,n>>=1)
{
two[j]=(n&1)+'0';
}
printf("%9s",two);

/*八进制*/
printf("%4o",i);

/*十六进制*/
printf("%3x ",i);
}

return0;
}

E. c语言中各种进制的转换规矩 详细些 最好是计算过程写出来

代码如下:(可以输出20位数)#include<stdio.h>
void transfer(int m,int change)
{
int aa[20],j,saveM=m;
for(j=0;m!=0;j++)
{
aa[j]=m%change;
m=m/change;
}
printf("十进制数%d的%d进制形式是:\n",saveM,change);
for(;j!=0;j--)
printf("%d ",aa[j-1]); //注意这空是填aa[j-1],而不是aa[j],因为上面那个循环进行到最后一步时,j++还是会运行一次,但是此时并没有给aa[j]赋值,因为循环结束
}
main()
{
int n,c;
printf("请输入一个整数\n");
scanf("%d",&n);
printf("该整数是十进制数,你想将它转化成几进制数呢?\n");
getchar();
scanf("%d",&c);
transfer(n,c);
} 功能说明:该函数可以将任意的十进制数转化成任意的N进制数。转化后的结果,每两位数之间用一个空格隔开。
希望可以帮到您,谢谢!

F. c语言中十六进制和八进制的格式

16进制以0x开头,后面跟数字0~9或字母A~F(小写也可以)。如:0x2D(16进制数2D)
8进制以0开头,后面跟数字0~7。如:045(8进制数45)
如果使用printf函数输出时,可以通过格式数明符来控制输出格式。
举例如下:
int x=23;
printf("%x", x); // 以16进制格式输出,输出17;
printf("%o", x); // 以8进制格式输出,输出2。

(6)c语言各种进制表格扩展阅读:
C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件。
早期的操作系统等系统软件主要是用汇编语言编写的(包括
UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作),例如:对内存地址的操作、位操作等)。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。

G. c语言中的整数可用哪几种进制表示如何表示

十六进制:0x开头,如0x0a
八进制:0开头,如072
十进制:无前缀,如123

H. C语言中16进制的表示方法

16进制以0x开头,后面跟数字0~9或字母A~F(小写也可以),如:0x2D(16进制数2D)