int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; } 解释下思路: 1.任何一个数字表示成2进制后,都可以用以下形式表示 [x]1[0] 其中1为最末尾的非0值(也就是1),[x]表示任意数字,[0]表示任意个0 2.当x - 1 时,其实是将最末尾的[x]1[0] - 1 变为了 [x]0[1] [x]1[0]  & [x]0[1] == [x][0][0] 3.[x] 继续分…
题目描述: 给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况. 最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7…
这是今年某公司的面试题: 一般思路是:把整数n转换成二进制字符数组,然后一个一个数: private static int helper1(int i) { char[] chs = Integer.toBinaryString(i).toCharArray(); int res = 0; for (int j = 0; j < chs.length; j++) { if (chs[j] == '1') { res++; } } return res; } 第二种方法是:将整数n与1进行与运算,…
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入例子: 9876673         import java.util.Scanner; public class Main {     public static void main(String[] args) {         @SuppressWarnings("resource"…
假设int型用两个字节表示对于有符号的整数,用补码表示的话,最高位是符号位,后面15位用来表示数据.1.正数,表示的范围为0000 0000 0000 0001-0111 1111 1111 1111,最高位是符号位,不能用于表示数据,所以正数的数值范围为1~32767.2.0:0000 0000 0000 00003.负数,负数的补码是原码取反加1,CPU的加减法运算,是循环进行加减的,即当其由0000 0000 0000 0000加到1111 1111 1111 1111时,如果再加1,就又…
给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数:2.递减数中各位数之和最大的数)之和. 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况. 最大递减数:所输入整数的所有递减数中值最大的一个. 如: 75345323,递减数有:75,753,53,53,532,32.那么最大的递减数为753. 各位数字之和最大的递减数: 如75345323中的各递减数:75各位数之和=12(7+5=12),753各位数之和=15(7+5+3=1…
主要涉及到string类的两个函数find和substr: find()函数的用法: 原型:size_t find ( const string& str, size_t pos = 0 ) const;功能:查找子字符串第一次出现的位置.参数说明:str为子字符串,pos为初始查找位置.返回值:找到的话返回第一次出现的位置,否则返回string::npos //find函数返回类型 size_type string s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g…
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public static void main(String args[]) { int x = 10; // 整型变量 int y = 10; // 整型变量 System.out.println(x == y); // 判断是否相等 } } 02.效果如下: 知识有价,如果您认为这篇文章有价值,认同作者的付…
题目描述: 输入一个整数,求该整数的二进制表达中有多少个1.例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 思路: 这是一道很基本的考查位运算的面试题.包括微软在内的很多公司都曾采用过这道题.注意考虑负数的情况(也是难点) import java.util.Scanner; /** * 输入一个整数,求该整数的二进制表达中有多少个1. * 例如输入10,由于其二进制表示为1010,有两个1,因此输出2. * */ public class FindNumberOne { pub…
题目: 假设一个8为整数是(10101100)b那么奇偶互换之后就是(01011100)b.假设机器是32位的 注意: 8位中最低位开始数,最低位是第0位,是偶数为,次低位时第1位,是偶数位. 做法: ((a>>1)&0x5555555) | ((a<<1)&0xaaaaaaaa) 解释 a>>1,所有的bit都右移一位,相当于奇数位的bit到了偶数位,然后和0x5555555做与操作,相当于只留下了偶数位,也就是原来的奇数位. 例如 11111010…
原文地址:http://blog.csdn.net/zhanghuoding/article/details/42719213 想法来自于书中的习题. Java的话直接输出 Integer.MAX_VALUE 和 Integer.MIN_VALUE 就可以了.…
leetcode 上的题目 Determine whether an integer is a palindrome. Do this without extra space. 由于不能使用额外空间,所以不能把数字转化为字符串后进行比较.因为这样空间复杂度将为线性. leetcode给出了几点提示 1.判断负数是否为回文数,查了下回文数定义,负数不为回文数 2.就是注意不能把数字转字符串,因为不能用额外空间. 3.如果打算反转数字,需要处理好数字溢出情况 我的解决办法: 先获取数字长度,然后获取…
又被阿里机考虐了一次,决定改变策略开始刷题T^T 一个字节(8bit)的无符号整型,求其二进制中的“1”的个数,算法执行效率尽可能高. 最先想到的移位操作,末尾位&00000001,然后右移,算法复杂度为O(log(v)) #include "stdafx.h" #include <iostream> using namespace std; int Count(int v); int main() { ; int num = Count(v); cout<&…
这几天小秋去面试了,不过最近小秋学习了不少和位算法相关文章,例如 [面试现场]如何判断一个数是否在40亿个整数中? [算法技巧]位运算装逼指南 对于算法题还是有点信心的,,,,于是,发现了如下对话. 20亿级别 面试官:如果我给你 2GB 的内存,并且给你 20 亿个 int 型整数,让你来找出次数出现最多的数,你会怎么做? 小秋:(嗯?怎么感觉和之前的那道判断一个数是否出现在这 40 亿个整数中有点一样?可是,如果还是采用 bitmap 算法的话,好像无法统计一个数出现的次数,只能判断一个数是…
题目: 求int型正整数在内存中存储时1的个数 热度指数:4427 时间限制:1秒 空间限制:32768K 题目描述 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 输入例子: 5 输出例子: 2 在线提交网址: http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9?tpId=37&tqId=21238&…
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 关键点:n与二进制的1相与:判断最末位是否为1:向右移位. 类似题目是查找输入整数二进制中1的个数. package test; import java.util.*; public class exam01 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int…
在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别:   C字符串 string对象(C++) 所需的头文件名称 <string>或<string.h> <string>或<string.h> 需要头文件 原因 为了使用字符串函数 为了使用string类 声明 方式 char name[20]; string name; 初始化方式 char name[20]="…
题目描述: 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 输入例子: 5 输出例子: 2 方法一: 计算机保存数据就是2进制的,如char a = 97;那么在计算机里面的信息就是01100001,用2进制打印就是01100001,用10进制打印就是97,因此只存在显示方式的不同.c语言中对位操作有几种方式,&与操作,|或操作,^异或操作,~反操作,<<左移位操作,>…
php实现 查找输入整数二进制中1的个数 一.总结 一句话总结: 1.if($j&intval($num)){}的作用是什么? 1 <?php 2 while($num=trim(fgets(STDIN))){ 3 $n=0; 4 for($i=0;$i<32;$i++){ 5 $j=1<<$i; 6 //echo $j.PHP_EOL; 7 if($j&intval($num)){ 8 $n++; 9 } 10 } 11 echo $n.PHP_EOL; 12 }…
题目描述 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数. 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 示例1 输入 5 输出 2 Python code: num = int(input().strip()) '))…
输入一个int型的正整数(十位数之内!嘞!),计算出该int型数据在内存中存储时1的个数. #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; ; while(n) { ) count++; n/=; //n>>1; } cout<<count<<endl; } my C++ codes are above: print(bin(int(input())…
int intA = 0;1.intA =int.Parse(str);2.int.TryParse(str, out intA);3.intA = Convert.ToInt32(str);以上都可以,其中 1和3 需要try{}异常,2不需要. //TryParse() Usage1: int number; bool result = Int32.TryParse(value, out number); // return bool value hint y/n if (result) {…
2013-07-09 18:55:42 EOF是文件的结束符,具体可以作为文本文件的结束符,也可以作为键盘输入char类型数据时的结束符.对于不同的系统,EOF的定义可能不同,一般定义为-1.因为char类型的数据范围是0~255,不可能是-1,EOF定义为0~255之外的数据理论上都是可以的. 一般在C语言中用getchar()函数或scanf获取char类型时,可用EOF作为结束符.但对于C++,若用getchar()函数或scanf获取char类型时,也可用EOF作为结束符,这是兼容C的特…
如果你通过CSV Data Set Config或者_StringFromFile函数来参数化你的请求,需要特别注意当参数为纯数字时,jmeter会默认将其识别成int型数据,说明jmeter并不是默认以String类型对数据进行读取的:范围-2147483648到2147483647,如果超出这个范围(例如2147483648这个数字):jmeter控制台则会抛出如下异常:jmeter.util.BeanShellInterpreter: Error invoking bsh method:…
变量只能定义一次,不能定义两次, 变量的作用域:当前的大括号与子括号才有效 变量的作用:存储值,取值 整型:向上自动升级,向下强制降级 char,byte,shot参与运算时候自动提升为int型 因为byte,char,shot在运行时候会有溢出的情况,所以自动提升.两个int参与运算时候 不会提升为long,不会报错,但是会损失精度 任何的整数类型和long类型做运算都会转换成long类型 整型默认为int型…
一次在开发中,key的值用了 byte型,结果插入第一条正常,第二条开始就出错,原因是用byte类型无法实现自动增加1,所以为了方便,建议使用 int型. public virtual byte bkAutoID { get; set; } 若是一定要用小型数据类型,则需要在Key中加入自增控制语句,如下: [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public virtual byte bkAutoID { get;…
刚刚看到一个面试题:写一个函数,输入int型,返回整数逆序后的字符串.如:输入123,返回"321". 要求必须用递归,不能用全局变量,输入必须是一个參数.必须返回字符串." package cn.baokx; public class Test { public static void main(String[] args) { System.out.println(fun(12345678)); } public static String fun(int num){ i…
应要求,本周制作了一个判断一个年份是否是闰年的程序.逻辑很简单,这里就不贴代码了.可是,在这次程序编写中发现了一个问题. 在输入年份时,如果输入1)字母2)空3)超过Int上限时,就会抛exception. 问题出在String转Int型时. 首先,在java中String转换为Int主要有两种方法 1.Integer.parseInt(s) 2.Integer.valueOf(s).intValue(); 这两种方法略有不同,之后再跟大家分析. 首先我使用第一种方法,当测试数据为正常的年份时,…
先将 int 型转为 String 型,然后再将 String 转为 long 型,如下图: public class TestIntToLong { public static void main(String[] args) { int num = 18; String str =String.valueOf( num ); // 先要把int转为字符串 long value = Long.parseLong( str ); // 再讲String型装维long型 System.out.pr…
1.将浮点型以整形的类型输出问题 用VC6.0,会把以整形输出形式的浮点数输出为0: 1 #include"stdio.h" 2 int main() 3 { 4 float x=2.5,y=4.7,z; 5 int a=7; 6 z=x+a%3*(int)(x+y)%2/4; 7 printf("%d\n",z); 8 printf("%d\n",x); 9 printf("%d\n",x+a%3*(int)(x+y)%2/…