计算机程序进制二进制

2023-12-17 20:28

本文主要是介绍计算机程序进制二进制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

二进制规则:原码,反码,补码

介进制绍

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

举例

进制的转换

第一组

1.二进制转换十进制

2.八进制转十进制

3.十六进制转十进制

第二组

1.十进制转二进制

2.十进制转八进制

3.十进制转换十六进制

第三组

1. 二进制转八进制规则:从低位开始,将二进制数每三位一组,转成对应的八进制输即可。

2.二进制转十六进制

第四组

1. 八进制转二进制

2. 十六进制转二进制

二进制的运算

二进制规则:原码,反码,补码

1.二进制的最高位是符号位:0表示整数,1表示负数。

2.正数的原码,反码,补码都一样

3.负数的反码=它的原码符号位不变,其它取反

4.负数的补码=它的反码+1,负数的反码=负数的补码-1

5. 0的反码,补码都是0

6. java没有无符号数,换言之,java中的数都是有符号的。

7. 计算机运算的时候,都是以补码的方式来运算的,

8. 当我们看运算结果的时候,要看他的原码。

介进制绍

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

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

(2)十进制:0-9 , 满10进1。

(3)八进制:0-7, 满8进1,以数字0开头

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

举例

二进制的表示方法:int num1 = 0b1010;

十进制的表示方法: 210

八进制的表示方法: 01010;

十六进制的表示方法: 0x1010

进制的转换

第一组

1.二进制转换十进制

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。

案例:将0b1011 转成 十进制的数

101011 = 1*2^0 + 1 * 2 ^1 + 0 * 2 ^ 2 + 1 * 2 ^ 3 = 1 + 2 + 0 + 8 = 11

2.八进制转十进制

规则:从最低位开始,将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。

案例:请将0123转成十进制的数

0123 = 3*8^0 + 2*8^1 + 1*8^2 = 3+16+64 = 83

3.十六进制转十进制

规则:从最低位开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。

案例:请将0x34A转成十进制的数

0x34A= 10 * 16^ + 4 * 16 ^1 + 3*16^2 = 842

第二组

1.十进制转二进制

规则:该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

2.十进制转八进制

将该数不断除以8,直到商为0为止,将每步得到的余数倒过来,就是对应的八进制

3.十进制转换十六进制

规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

第三组

1. 二进制转八进制
规则:从低位开始,将二进制数每三位一组,转成对应的八进制输即可。

2.二进制转十六进制

从低位开始,将二进制数每四位一组,转成对应的十六进制数即可。

第四组

1. 八进制转二进制

将八进制数每一位,转成对应的一个3为的二进制数即可

2. 十六进制转二进制

将十六进制数每1位,转成对应的4位的一个二进制数即可。

二进制的运算

1. 二进制是逢二进位的二进制,0 ,1 是基本算符

2. 现代的点子计算机技术全部采用的是二进制,因为它只使用0,1两个数字符号,

3.计算机内部处理的消息,都是采用二进制来表示的,

4. 二进制(Binary)数用0和1两个数字极其组合来表示任何数。

5. 进位规则是“逢2进1”,数字在1不同的位上代表不同的值,按从右至左的次序,这个值是以二倍递增。

这篇关于计算机程序进制二进制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/505742

相关文章

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

uva 10061 How many zero's and how many digits ?(不同进制阶乘末尾几个0)+poj 1401

题意是求在base进制下的 n!的结果有几位数,末尾有几个0。 想起刚开始的时候做的一道10进制下的n阶乘末尾有几个零,以及之前有做过的一道n阶乘的位数。 当时都是在10进制下的。 10进制下的做法是: 1. n阶位数:直接 lg(n!)就是得数的位数。 2. n阶末尾0的个数:由于2 * 5 将会在得数中以0的形式存在,所以计算2或者计算5,由于因子中出现5必然出现2,所以直接一

通信工程学习:什么是2ASK/BASK二进制振幅键控

2ASK/BASK:二进制振幅键控         2ASK/BASK二进制振幅键控是一种数字调制技术,其全称是二进制振幅键控(Binary Amplitude Shift Keying)。该技术通过改变载波的振幅来传递二进制数字信息,而载波的频率和相位则保持不变。以下是关于2ASK/BASK二进制振幅键控的详细解释: 一、2ASK/BASK二进制振幅键控的基本原理 1、振幅键控:

1 模拟——67. 二进制求和

1 模拟 67. 二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例 1:输入:a = "11", b = "1"输出:"100"示例 2:输入:a = "1010", b = "1011"输出:"10101" 算法设计 可以从低位到高位(从后向前)计算,用一个变量carry记录进位,如果有字符没处理完或者有进位,则循环处理。两个字符串对

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa

Leetcode67---二进制求和

https://leetcode.cn/problems/add-binary/description/ 给出的两个二进制,我们可以从最后开始往前运算。 给当前短的一位前面补充0即可。 class Solution {public String addBinary(String a, String b) {//给的就是二进制字符串 最后一位开始遍历 如果没有就补充0?StringBuil

二进制的匹配问题

最近做了点搜索和背包的题目,发现这个二进制的匹配很是好用,所以写一篇二进制的匹配来作为自我总结; 首先我们要知道二进制的运算符,和他们的运算规则; ABA&BA|BA^B00000010111001111110 运算符有三种‘&’ , ‘|’ ,  ‘^'  或,且,异或,运算的规则在表中可以看到,想想这个规则我们可以做很多事情! 首先,每个十进制的数都会对应一个唯一的二进

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(2) (*****生成数据结构类的方式特别有趣****)-CSDN博客 做完了数据结构类,该做一个存储类了,也就是生成一个字典类(只是声明)  实现和上一节的数据结构类的方式大同小异,所

itoa()函数,10进制转换到(2~36)进制

先看下itoa()的函数说明吧: 功 能:把一整数转换为字符串   用 法:char *itoa(int value, char *string, int radix);    详细解释:itoa是英文integer to array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.    参数:  value: 待转化的整数。            radix:

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(2) (*****生成数据结构类的方式特别有趣****)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(1)-CSDN博客 本节内容 实现目标 通过已经得到的Excel表格数据,生成对应类对象(不赋值),一张表就是一个对象,其中包含了如下的字段  就像这样子  实现思路 上