进制(二进制、十进制、八进制、十六进制)

对于整数,有四种表示方式:

二进制:0,1 ,满2进1.以0b或0B开头。

十进制:0-9 ,满10进1.

八进制:0-7 ,满8进1. 以数字0开头表示。

十六进制:0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。

如:0x21AF +1= 0X21B0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 A B C D E F

1.原码、反码、补码

  所有数字在计算机底层都以二进制形式存在。
  计算机以补码的形式保存所有的整数。
    正数的原码、反码、补码都相同
    负数的补码是其反码加1。
  原码:直接将一个数值换成二进制数。
  反码:是对原码按位取反,只是最高位(符号位)确定为1。
  Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位

2.进制间转化
 十进制二进制互转
    二进制转成十进制  乘以2的幂数
    十进制转成二进制  除以2取余数

二进制八进制互转

二进制十六进制互转

十进制八进制互转

十进制十六进制互转

时间: 2024-10-13 10:00:38

进制(二进制、十进制、八进制、十六进制)的相关文章

iOS-二进制,十进制,十六进制的相互转换

二进制化为十进制                 1001 1010  = 1*2^7+0*2^6+0*2^5+1*2^4+1*2^3+0*2^2+1*2^1+0*2^0 二进制化为十六进制              0011   1101  1011 =  3db 二进制化为八进制                 1010  1100   =   010   101  100  =  254 十进制化为二进制 2^0 = 1,2^1 = 2 ,2^2 = 4,2^3 = 8,2^4 = 16,

(HDUStep 1.2.6)decimal system(任意进制转十进制)

题目: decimal system Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3622 Accepted Submission(s): 1419   Problem Description As we know , we always use the decimal system in our common life, even us

c-八进制 转 十进制

概述 其实x进制转十进制的算法都差不多,不过如果是针对于字符形式,他们却有点不同.使用指针和数组的形式计算,又不同.这里演示将字符型的数组形式的八进制转成十进制: 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 5 #define MAX 10 6 7 //初始化数组为八进制. 8 void 9 init(char *octal) { 10 gets(octal); 11 } 12 13

- &gt;code vs 1475 m进制转十进制

1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转换后的十进制数<=100 输入描述 Input Description 共一行 n和m 输出描述 Output Description 共一个数 表示m进制的n化成十进制的数 样例输入 Sample Input 1010 2 样例输出 Sample Output 10 数据范围

华为机试—“十七进制”转“十进制”

题目:"十七进制"转"十进制" 实现"十七进制"转"十进制"算法:输入一个十七进制数字的字符串(字母一律大写),输出这个数值对应的十进制结果,达到进制转换目的,范围:0-0xFFFFFFFF. #include<stdio.h> #include<string.h> void solve(char *s) { int len=strlen(s); int i=0; int ans=0; while(i&

C语言:其他进制转换为十进制(方法二)

#include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> //其他任意进制转换为十进制 int main() { int trans(char a[],int ); char arr[100]; int t; printf("请输入进制的类型:"); scanf("%d",&t); printf("请输入该进制的数:

m进制转十进制

1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转换后的十进制数<=100 输入描述 Input Description 共一行 n和m 输出描述 Output Description 共一个数 表示m进制的n化成十进制的数 样例输入 Sample Input 1010 2 样例输出 Sample Output 10 #include<

java基础:任意进制到十进制的转换

十进制转换到十进制: 二进制转换到十进制 八进制转换到十进制: 十六进制转换到十进制:

1475 m进制转十进制

题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转换后的十进制数<=100 输入描述 Input Description 共一行 n和m 输出描述 Output Description 共一个数 表示m进制的n化成十进制的数 样例输入 Sample Input 1010 2 样例输出 Sample Output 10 数据范围及提示 Data Size & Hint 乘权累加法 本题比那道将十进制转换为m进制的题目还要简单,因为最后转化成的就是我们