问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java int怎么位移取前几位数字

发布网友 发布时间:2022-05-15 21:57

我来回答

5个回答

热心网友 时间:2024-02-28 06:57

首先,java里int是有32位2进制数组成的
我们一般赋值 int i = 1; 这个是赋值10进制的数
赋值 2进制要 int i = 01;(前面加个0,就表示是2进制数)
赋值16进制(常用) int i = 0x00000001; (0x表示为16进制数)
3种的值都是1.
要用2进制输出就是Integer.toBinaryString(i)

拓展:
因为计算机处理位运算速度是非常快的(应该是最快的运算)
所以很多时候,如果有一堆boolean变量需要表示时, 一般只用1个int的数表示,如:
int i = 0x0000000f;//表示后4位为1
int m = (i >> 2) & 1; // 其中m就是表示某一位的值,2表示右边开始数第2位(当然是从第0位开始算的)
这样就能取具体每一位的值
这种方法在很吃代码效率的程序中经常遇到

全手打,望支持

热心网友 时间:2024-02-28 06:58

看了几个类似问题,发现回答的人都在答非所问,索性就不偷懒自己动手写一份吧,下面放出代码供后来者参考:

算法及测试用例

热心网友 时间:2024-02-28 06:58

思路:直接用Integer类的bit运算操作。
如果想得到一个n位数的第k位,写法如下:

(n & ( 1 << k )) >> k

内部实现就是:
1、创建一个mask,把1左移k位
int mask = 1 << k;
2、然后把n右移mask位就是想要得到的结果
int masked_n = n & mask;
int thebit = masked_n >> k;

热心网友 时间:2024-02-28 06:59

你的意思是通过移位操作??
如果只是取前两位的话可以这样做,例如下
int a=10002325;
String b=a.tosring();
b=b.substring(0,2);
这样试试吧追问对啊,是要位移来操作。速度快,字符解析慢...

追答我觉得通过移位操作比直接字符解析还复杂。移位你得先转换成二进制,再确定移动位数。如果你想到比较简单的移位操作解决方法也告诉我一下。

热心网友 时间:2024-02-28 06:59

public class example{

public static void main(){
int x=1234;
//在这的话你的问题就是 mod 就可以达到那个问题
//无外乎是"% " "/" 这个号的使用 组合你就能到达你的所需要的。
}

}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
租临时演员在婚礼中的效果 eva破买觉醒版的还是普通版的 TAT EVA初号机模型 公司以员工绩效罚款违法吗 张衡怎么造句 地动仪怎么造句 一般情况下,企业对程序员素质要求中不包括( )。 做一个程序员应该具备哪些素质? 自己家里是什么意思? 你家里都是什么意思啊 要求用JAVA写一个 将十进制转化成二进制,再从二进制转化成十进制的程序。 java中怎样将一个数转换为7位二进制 几道中考复习的选择题,请来看看 java 数据类型转换的问题 byte a = 100; int b = 98; byte c = (byte)(a+b); System.out,prin 幼儿园感恩节感受怎么写 Java 类型转换问题 java入门教程 数据类型混合运算和类型转换的相关问题。 幼儿园为什么要开展感恩教育 java bit怎么调 java 中如何将字符串转换成16位bit型数据? 如何将int型转化为bit型 苹果11为什么下载是apk格式? 求解答,fluent和workbench做流固耦合的问题 双向流固耦合出现连接失败 流固耦合需要学流体力学吗 LS-DYNA流固耦合时发生穿透现象 流体进入到刚体里面 应该怎么解决 流固耦合的介绍 沙巾上的 sik是什么意思 有哪三个常用的搜索引擎名 头晕眼花注意力不集中,浑身没劲是怎么回事 幼儿园要不要过感恩节? 急需5道语文中考选择题 int型的一个数用二进制表示,举例 惠普15-ae125tx装win7如何改bios 几个英语中考选择题(可加分) 小学生写综合实践怎么写? 几道中考水平的选择题! 英语中考选择题总分多少分 英语中考选择题总分多少分 五年级评价手册综合实践活动怎么填写 在一段时间内,可否打两种疫苗? 微信账单举报有用吗 请问装win7系统,bios设置 装win7将boot mode改为Legacy Support, 前两天买了台HP台式机,自带Linux系统,想重装win7,无法安装,bios如何设置? 移动机顶盒打开上面显示您的登录帐号不存在或帐号/密码错误是什么... 北京联通IPTV提示用户名不存在或密码错误怎么办? 电信电视进不到首页停在“错误码:30005您的账户不存在或用户账号密码错 电视机上出现帐号不存在或者用户帐号密码错误? 我有些古文需要翻译 我输入IPTV用户名和密码报错怎么办 怎么找回密码