首页 > 其他分享 >数论

数论

时间:2024-02-05 11:14:12浏览次数:16  
标签:数论 32 补码 负数 二进制 逆运算 2147483648

数论

1. 数字题

注意事项:

  • 0、负数、小数
  • 是否需要考虑错误输入,错误输入以后应该如何处理
  • 数据大小,类型范围
  • int 占 4个字节,共 32位:2 ^ 32 = 4,294,967,296
  • JAVA中没有无符号的数,换言之,java中的数都是有符号的
  • 在计算机运算的时候,都是以 补码 的方式来运算的
  • 当我们看运算结果时,要看它的原码
    Java语言中int类型的数据占4个字节,那么4个字节所能表示的最大整数是多少呢?按照补码的表示规则,这个最大的整数存储到计算机当中应该是“1个0跟31个1”: 【即:2 ^ (32 - 1)- 1 = 2147483647】

    如果我们强行给这个数再加1,按照二进制的进位规则,它会变成下面的样子: 【补码形式表示的负数】

    原码 = ~(反码) = ~(补码 - 1)
    补码 - 1 如下图:

    再取反 【表面上,这个二进制数和逆运算之前是一样的,但是它的意义已经完全不同了】
  • 在进行逆运算之前,这个二进制数是一个补码形式表示的负数
  • 而经过逆运算之后,这个二进制数变成了一个绝对值,既然是绝对值,它肯定不会是负数。因此,这个二进制数最前面的1并不表示负数,而是数字的一部分。
  • 那么这个绝对值是多少呢?转换成十进制就是2147483648 【2 ^ (32 - 1)】。所以,我们图3中看到的那个“1开头后面跟着31个0”所表示的负数,就是-2147483648!

    | | 1 1 1 1 |
    | ----------------- | ---------------------------- |
    | 当前位置1代表的值 | 2^(n - 1) 【8、4、2、1】 |
    | 求和 | (2 ^ n) - 1 【n:1的个数】 |
    得出个小结论:
2 ^(n - 1)  - 【2^(n - 1)  - 1】= 1
  • 当前位置代表的值 - 低位所有和 = 1
  • 数据大小是否会溢出
    | INT_MIN 0x80000000 | INT_MAX 0x7fffffff|
    | ------------------ | ----------- |
    | -2147483648 | 2147483647|

标签:数论,32,补码,负数,二进制,逆运算,2147483648
From: https://www.cnblogs.com/aclq/p/18007575

相关文章

  • ACM基础数论笔记
    基础数论部分整除定义设\(a,b\inZ,a\neq0,若\existq\inZ使得b=aq\),则b可被a整除,记作\(a\midb\),称b是a的倍数,a是b的约数不能整除\(a\nmidb\)定理\(a\mid{b}\iff-a\mid{b}\iffa\mid{-b}\iff|a|\mid|b|\)\(a\midb且b\midc\Rightarrowa\midc\)\(a\midb且a......
  • 数论基础(一)
    数学符号整除/同余理论常见符号整除符号:\(x\midy\),表示\(x\)整除\(y\)。取模符号:\(x\bmody\),表示\(x\)对\(y\)取模。互质符号:\(x\perpy\),表示\(x\)与\(y\)互质。同余:\(n\equivk\pmodm\),表示\(n\)与\(k\)在模\(m\)意义下同余。最大公约数:\(\gcd......
  • 数论
    数论1.快速幂解决次数很高的幂取模问题快速幂问题:求ab %p做法:(核心思想合并基数modp)利用while循环,循环条件是指数b不为0指数和1做&运算相当于将指数转为二进制再与1做&例如指数为6:就化成110&1为0每次&1会得到化成二进制后当前位数是1还是0还要设置一个基数base,每次base......
  • 【数论】【模版】二次剩余
    二次剩余问题其实就是数论中的开方运算。我们要解决这么一个问题,给定正整数\(n\),奇素数\(p\),求解\[x^2\equivn\pmodp\]本文内认为模数\(p\)是一个奇素数。定义若存在\(x^2\equivn\pmodp\),则称\(n\)为模\(p\)的二次剩余,反之则称\(n\)为模\(p\)的非二次剩......
  • 数论-二元一次不定方程
    原文 第1题   二元一次不定方程引理2如果a,b和c是正整数,满足(a,b)=1且a|bc,则a|c.证明 由于(a,b)=1,存在整数x和y使得ax+by=1.等式两边同时乘以c,得acx+bcy=c。根据定理2,a整除(cx)a+ y(bc),这是因为这是a和bc的线性组合,而它们都可以被a整除。因此,a l c。定理8设......
  • 数论-裴蜀定理
    原文 如果a与b均为整数,则存在整数x和y满足ax+by=(a,b)。由定理6容易证明正确性。 下面用扩展欧几里得算法(exgcd)求出满足ax+by=(a,b)的一个特解。例如:a=99,b=78,令d=(a,b)=(99,78)=3,求99x+78y=3的一个特解。在调用exgcd的时候,从后往前依次构造......
  • 数论-最大公因子及其性质
    原文如果a和b为不全为零的整数,则它们的公因子的集合是一个有限的整数集,通常包括+1和-1,我们对其中最大的那个公因子感兴趣.定义2 不全为零的整数a和b的最大公因子是指能够同时整除a和b的最大整数。a和b的最大公因子记作(a,b),(有时也记作gcd(a,b),特别是在非数论的著作中我们将......
  • 数论-整除性
    原文 定义1 如果a和b为整数且a≠0,我们说a整除b是指存在整数c使得b=ac。如果a整除b,我们还称a是b的一个因子,且称b是a的倍数.如果a整除b,则将其记为a|b,如果a不能整除b,则记其为a∤b。定理1如果a,b和c是整数,且a|b,b|c,则a|c.证明:因为alb,b|c,故存在整数e和f,使得ae=b,bf......
  • [数论学习笔记01]完系/同余最短路/费马小定理/扩欧/中国剩余定理
    #[数论学习笔记01]完系/同余最短路/费马小定理/扩欧/中国剩余定理###每日蒟蒻小故事(1/1)蒟蒻带了一本崭新的笔记本到S组.他发现这一节课居然在学习数论."听不懂,求讲解!"蒟蒻说.大佬邪魅一笑,并未理会.蒟蒻只能一边听着老师的讲解,一边努力地记着笔记."什么是完全剩余系......
  • [王崧-数论01]从自然数到算数基本定理
    $$\color{indigo}\large\text{[王崧-数论01]从自然数到算数基本定理}$$ $\large\mathbb{Part\01}\text{自然数,归纳和最小数原理}$$\text{1.1自然数}$$\mathbb{N_1=\{1,2,3,...\}}$$\mathbb{N_0=\{0,1,2,...\}}$$\mathbb{Z=\{0,\pm1,\pm2,\pm3...\}}$$\text{“道生一,一......