在看TCP/IP 时,看到IP 协议中有个 首部检验和 是用的 二进制反码求和。 不太理解
原创 2022-10-09 12:27:05
50阅读
二进制反码求和用在网络数据包相关的校验中,意思是 一组位数相同的二进制数,依次相加,每次最高位有进位就多加次1,得出的最终和再取反,便是结果。 把结果放到这组数中,重新计算一次,再次得到的结果会是0. 初看不明白这种效验是怎么达到目的的,为什么可以得到0。无意中想到的一种思路是:这组二进制数相加的和 ...
转载 2021-07-19 14:13:00
903阅读
2评论
IP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,算法如下: 在发送数据时
转载 2022-01-13 14:53:01
2411阅读
原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。反码:表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码:表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。 首先需要明确是java中是用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“1”表示负数。正数补码为其本身
 一、二进制转换¶ In [1]:a = 3 print(bin(a)) #bin()转换为二进制 0b11In [2]:b = 0b10 print(int(b)) #int()转换为十进制 2 负数的二进制¶ 求-5的二进制表示¶ step1:先求正数的二进制。5->0000 0101¶ step2:取反。 1111 10
二进制中的原码、反码、补码1. 原码原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:[+1]原 = 0000 0001[-1]原 = 1000 0001第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]即[-127 , 127]原码是人脑最容易理解和计算的表示方式.
转载 2023-06-26 22:02:03
170阅读
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。 ...
转载 2021-09-15 20:19:00
127阅读
2评论
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101"提示: 每个字符串仅由字符 '0' 或 '1' 组成。 1 <= a.length, b.length <= 10^4 字符串如果不是 "0" ,就都不含前导零。strin...
原创 2021-06-17 14:15:53
458阅读
二进制求和 给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字1和0。 示例 输入: a = "11", b = "1" 输出: "100" 输入: a = "1010", b = "1011" 输出: "10101" 提示 每个字符串仅由字符'0'或'1'组成。
原创 2022-05-28 00:51:47
106阅读
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1" 输出: "100"示例 2:输入: a = "1010", b = "1011" 输出: "10101"提示:    每个字符串仅由字符 '0' 或 '1' 组成。     1 <= a.length, b.length <= 10^4
原创 2022-02-23 16:06:14
446阅读
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空
原创 2023-02-17 11:08:16
82阅读
&运算符  与运算,具体运算规则是,当两个二进制进行位运算时,都是1的时候,结果为1,否则为0。  举例如下:  32的二进制:      0010 0000      33的二进制:      0010 0001  计算结果为32:   0010 0000 &=运算符  
转载 2023-06-07 21:33:58
116阅读
题目来自于​​leetcode​​题目描述:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"解题思路:首先让两个字符串等长,若不等长,在短的字符串前补零把字符串装换成数组遍历所有的位数,同位相加判断相加后的字符
原创 2023-03-06 03:52:12
53阅读
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当”。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。原码、反码和补码原码:一个整数,按照绝对值大小转换成的二进制数,最高位为符号位,称为原码。例如: 00000000 00000000 00000000 00000101 是 5的
转载 2023-07-18 11:09:32
247阅读
前言: bit(位):数据存储的最小单元。在计算机二进制系统中,位,简记为b,也称为比特(bit),每个二进制数字0或1就是一个位(bit),其中每 8bit = 1 byte(字节); Java 中的int数据类型占4个byte(字节),而1 byte(字节) = 8 bit(位);(说白了,在
原创 2021-07-20 14:25:06
870阅读
/* 1、计算机在任何情况下都只能识别二进制 2、计算机在底层存储数据的时候,一律存储的是"二进制的补码形式"。 计算机采用补码形式存储数据的原因是:补码形式效率最高。 3、什么是补码呢? 二进制有:原码 反码 补码 4、记住 对于一个正数来说:二进制原码、反码、补码、是同一个,完全相同。 int ...
转载 2021-08-28 21:30:00
291阅读
2评论
前言:    bit(位):数据存储的最小单元。在计算机二进制系统中,位,简记为b,也称为比特(bit),每个二进制数字0或1就是一个位(bit),其中每 8bit = 1 byte(字节);    Java 中的int数据类型占4个byte(字节),而1 byte(字节) = 8 bit(位);(说白了,在二进制系统中是以bit 作为数据存储单元的) 二进制     二进制在计算机技术中广泛应
转载 2013-12-16 12:26:00
157阅读
2评论
这几天开学,很多知识点还很生疏,这两天先把java基础复习一下,有段时间没有写博客了,今天就先谈谈进制转换吧。  1.二进制数的原码,补码和反码    1):对于正数的原码,补码和反码均是相同的,这里不讨论了。    2)接下来我们讨论负数的二进制的原码、反码和补码    负数二进制的原码:先计算负数绝对值的二进制值,然后对二进制每一位数据进行取反,最后再加1。负数的二进制变现形式是对应整数二进制
转载 2023-09-01 11:42:01
76阅读
# Python二进制求和 ## 引言 计算机中的数据存储以二进制形式进行,二进制是一种由0和1组成的数字系统。在编程中,经常会遇到需要对二进制数进行求和的情况,本文将介绍如何使用Python来进行二进制求和。 ## 二进制数的表示 二进制数是由0和1组成的数字系统,每一位只能是0或者1。二进制数的每一位表示2的幂,从右往左依次增大,例如,二进制数`101`表示的是2^2 + 0^1 +
原创 9月前
59阅读
https://leetcode-cn.com/problems/add-binary/description/我的解决方案: 因为给的二进制字符串可能会非常长,将其装换为整数会产生溢出,因此只能做字符串处理class Solution { public static String addBinary(String a, String b) { //较长字符串和...
原创 2021-06-29 13:58:46
206阅读
  • 1
  • 2
  • 3
  • 4
  • 5