精华内容
下载资源
问答
  • 要将正整数转换为整数,反之亦然,请使用按位补码运算符。 让我们首先初始化一个正整数- int positiveVal = 200; 现在,让我们将其转换为负数- int negativeVal = (~(positiveVal - 1)); 现在,我们有...

    要将正整数转换为负整数,反之亦然,请使用按位补码运算符。

    让我们首先初始化一个正整数-

    int positiveVal = 200;

    现在,让我们将其转换为负数-

    int negativeVal = (~(positiveVal - 1));

    现在,我们有以下负数int-

    int negativeVal = -300;

    以下将负数转换为正数int-

    positiveVal = ~(negativeVal - 1);

    例子

     现场演示

    public class Demo {

       public static void main(String[] args) throws java.lang.Exception {

          int positiveVal = 100;

          int negativeVal = (~(positiveVal - 1));

          System.out.println("Result: Positive value converted to Negative = "+negativeVal);

          positiveVal = ~(negativeVal - 1);

          System.out.println("Actual Positive Value = "+positiveVal);

          negativeVal = -200;

          System.out.println("Actual Negative Value = "+negativeVal);

          positiveVal = ~(negativeVal - 1);

          System.out.println("Result: Negative value converted to Positive = "+positiveVal);

       }

    }

    输出

    Result: Positive value converted to Negative = -100

    Actual Positive Value = 100

    Actual Negative Value = -200

    Result: Negative value converted to Positive = 200

     

    展开全文
  • Java数学函数将正整数转换为负数并将整数转换为正数?是否有Java函数将正整数转换为整数并将整数转换为正整数?我正在寻找reverse函数来执行此转换:-5 -> 55 -> -5zippy asked 2020-07-23T17:26:03Z10...

    Java数学函数将正整数转换为负数并将负整数转换为正数?

    是否有Java函数将正整数转换为负整数并将负整数转换为正整数?

    我正在寻找reverse函数来执行此转换:

    -5 -> 5

    5 -> -5

    zippy asked 2020-07-23T17:26:03Z

    10个解决方案

    201 votes

    那x *= -1;呢? 您是否真的想要一个库函数?

    FailedDev answered 2020-07-23T17:26:19Z

    77 votes

    x = -x;

    这可能是我在任何地方见过的最琐碎的问题。

    ...以及为什么将这个琐碎的函数称为“ reverse()”是另一个谜。

    user207421 answered 2020-07-23T17:26:44Z

    46 votes

    只需使用一元减号运算符:

    int x = 5;

    ...

    x = -x; // Here's the mystery library function - the single character "-"

    Java有两个减号运算符:

    熟悉的算术版本(例如0 - x),以及

    一元减号运算符(在此使用),它使(单个)操作数取反

    这将编译并按预期方式工作。

    Bohemian answered 2020-07-23T17:27:21Z

    10 votes

    另一种方法(2的补码):

    public int reverse(int x){

    x~=x;

    x++;

    return x;

    }

    它首先进行一个补码(通过对所有位进行补码),然后将1加到x。 这种方法也可以完成工作。

    注意:此方法是用Java编写的,与许多其他语言相似

    Shivanshu Goyal answered 2020-07-23T17:27:50Z

    7 votes

    原始* = -1;

    简单的代码行,原始就是您想要的任何int。

    K.D. Code answered 2020-07-23T17:28:14Z

    6 votes

    尚无此类功能或无法编写。

    问题是边缘情况Integer.MIN_VALUE(-2,147,483,648 = 0x80000000)应用上述三种方法中的每一种,您都会得到相同的值。 这是由于整数的表示形式以及最大可能的整数Integer.MAX_VALUE(-2,147,483,647 = 0x7fffffff),它比-Integer.MIN_VALUE少一。

    Salix alba answered 2020-07-23T17:28:39Z

    4 votes

    在这里整理。

    显然,x *= -1;太简单了。

    相反,我们可以使用简单的二进制补码:

    number = ~(number - 1) ;

    像这样:

    import java.io.*;

    /* Name of the class has to be "Main" only if the class is public. */

    class Ideone

    {

    public static void main (String[] args) throws java.lang.Exception

    {

    int iPositive = 15;

    int iNegative = ( ~(iPositive - 1) ) ; // Use extra brackets when using as C preprocessor directive ! ! !...

    System.out.println(iNegative);

    iPositive = ~(iNegative - 1) ;

    System.out.println(iPositive);

    iNegative = 0;

    iPositive = ~(iNegative - 1);

    System.out.println(iPositive);

    }

    }

    这样,我们可以确保普通的程序员不了解正在发生的事情;)

    Stefan Steiger answered 2020-07-23T17:29:16Z

    2 votes

    是的,正如Jeffrey Bosboom所指出的(对不起Jeffrey,我回答时没有注意到您的评论),有一个这样的函数:Math.negateExact。

    不,您可能不应该使用它。 除非您需要方法参考,否则不需要。

    old grouch answered 2020-07-23T17:29:45Z

    1 votes

    您可以使用减号运算符或Math.abs。 除了Integer.MIN_VALUE,它们适用于所有负整数!如果您选择0-MIN_VALUE,答案仍然是MIN_VALUE。

    lovos answered 2020-07-23T17:30:06Z

    0 votes

    您可以使用数学:

    int x = Math.abs(-5);

    Thiago Araújo answered 2020-07-23T17:30:26Z

    展开全文
  • 整型有正整数整数之分,在Java语言中,规定整型的最高位为符号位,最高位为“0”表示正数,最高位为“1”表示负数,其它位表示数值。因此整型类型的数据能够表示的最小值为:-2n-1 —2n-1-1(n为该类型所占存储...

    Java语言中,基本的整型数据类型有byte、short、int、long四种类型,用于需要不同存储空间的数据使用。整型有正整数和负整数之分,在Java语言中,规定整型的最高位为符号位,最高位为“0”表示正数,最高位为“1”表示负数,其它位表示数值。因此整型类型的数据能够表示的最小值为:-2n-1 —2n-1-1(n为该类型所占存储空间的二进制位数)。

    e2cfae941fdb23aa31c4e0965457fb3c.png

    其中,byte占用一个字节的存储空间,可表示的最小数值为-128,最大数值为127;

    short占用二个字节的存储空间,可表示的最小数值为-32768,最大数值为32767;

    int占用四个字节的存储空间,可表示的最小数值为-2147483648,最大数值为2147483647;

    long占用四个字节的存储空间,可表示的最小数值为-9223372036854775808,最大数值为9223372036854775807。

    整型变量可按如下方式声明:

    baf5bb877dcd9471514995abce2af56c.png

    在一条语句中,可以声明多个同一类型的整型变量,每个变量之间用英文逗号分隔:

    7150a09470176ea07f3f89d28382891e.png

    整型变量可按如下方式初始化:

    c7f2962d27ee4b9b0475a307ea20bf38.png

    在初始化变量或为变量赋值时,常常会用到一些数值,这些值通常称为常量。Java语言中整型常量有三种不同的表示形式:十进制、八进制和十六进制。

    ① 八进制整型常量:在八进制数值前面加前缀数字0,其数码取值为0—7,例如:023、0457、01329等;

    ② 十六进制整型常量:前缀为“0X”或“0x”,数码取值0—9、A—F、或a—f。例如:0X2A、0XA0、0Xffff等;

    ③ 十进制整型常量:既无前缀也无后缀。例如:236、56、7890等。

    示例1: 整型常量声明:

    8e417b3d636cfc96c0f8f3a096311e39.png

    当整型数据数值大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果,这种现象称为溢出。

    示例2:int类型的溢出

    在D盘Java目录下,新建“OverFlow.java”文件。用记事本打开“OverFlow.java”文件,输入以下代码:

    82bdd6afdc6a123dca321cb1f77b744c.png

    编译“OverFlow.java”文件,在命令行窗口输入“javac OverFlow.java”并执行命令,编译器显示如下信息:

    1627a59e74b8bda79bf8fcdf65c99912.png

    编译器给出过大的整数错误信息,num的数值明显超出的int所能表示的最大值。

    示例2:byte类型的溢出

    在D盘Java目录下,新建“ByteOverFlow.java”文件。用记事本打开“OverFlow.java”文件,输入以下代码:

    f93121cff831943dec43810f10f9326d.png

    编译“ByteOverFlow.java”文件,在命令行窗口输入“javac ByteOverFlow.java”并执行命令,编译器显示如下信息:

    fc47acd29370a62e5d90ef257e5dcc7f.png

    编译器给出可能损失精度的错误信息,原因是byte变量的最大值为127,数值129超出了byte所能表示的范围。编译器将数值129赋值给byCode时,将129强制转换为byte所能表示的范围,因此报出损失精度的错误信息。

    程序声明的所有变量都要占用程序运行存储空间,对程序运行存储空间比较小的单片机、手机等设备,在程序设计时,要充分考虑变量所占的存储空间对内存空间的影响,使用byte可以表示的数值范围尽量不要用int类型,更不能使用long类型,在赋值时,一定要判断数值的范围大小,以免发生数值溢出问题。

    08aca4e762aa579fe566fd4fbd634365.png

    (1)要存储一个long型的值,需要()字节的存储空间。

    A.4

    B.8

    C.2

    D.1

    (2)程序需要存储一个数值为128的常量,可用的占用存储空间最小的的数据类型为()。

    A. byte

    B . long

    C. int

    D.short

    (3)在Java语言中,数值128用十六进制表示为()。

    A.80H

    B.0X80

    C.80

    D.080

    展开全文
  • 本文实例讲述了Java正则验证正整数的方法。分享给大家供大家参考,具体如下:package des;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Num {/*** @param args*/public static void...

    本文实例讲述了Java正则验证正整数的方法。分享给大家供大家参考,具体如下:

    package des;

    import java.util.regex.Matcher;

    import java.util.regex.Pattern;

    public class Num {

    /**

    * @param args

    */

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Num p=new Num();

    String ii="10";

    String ii2="0";

    String ii3="00";

    String ii4="009";

    String ii5="3g0";

    String ii6="3re";

    String ii7="ss";

    String ii8="gg031";

    String ii9="45*";

    String ii10="12.435";

    String ii11="3b33";

    String ii12="g'gf";

    String ii13="1222";

    System.out.println("来自 www.jb51.net 的测试结果:");

    p.isMatches(ii);

    p.isMatches(ii2);

    p.isMatches(ii3);

    p.isMatches(ii4);

    p.isMatches(ii5);

    p.isMatches(ii6);

    p.isMatches(ii7);

    p.isMatches(ii8);

    p.isMatches(ii9);

    p.isMatches(ii10);

    p.isMatches(ii11);

    p.isMatches(ii12);

    p.isMatches(ii13);

    }

    //是否数字

    public boolean isMatches(String bot){

    boolean flag=false;

    try{

    String regex="^[1-9]+[0-9]*$";

    //^[1-9]+\\d*$

    Pattern p=Pattern.compile(regex);

    Matcher m=p.matcher(bot);

    if(m.find()){

    System.out.println("successss");

    return true;

    }else{

    System.out.println("falsss");

    }

    }catch(Exception e){

    e.printStackTrace();

    }

    return flag;

    }

    }

    运行结果如下图:

    06f4620fb0c3f93db048e888616bfea7.png

    但是正则表达式改成

    String regex="[1-9]+[0-9]*";

    把^  $去掉后,运行结果:

    98225dd21c1fd4327f679fd5111f29bb.png

    注意^  $的作用,在这里完全体现出来了。

    PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

    JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript

    正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg

    更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

    希望本文所述对大家java程序设计有所帮助。

    时间: 2017-08-26

    展开全文
  • java整数相加

    2021-03-01 10:21:33
    -- 正整数相加/** description: 1. 反转 2. 补0 3. 计算 4. 最后结果反转* @author maduar* @date 21/11/2018 10:15 PM* @email maduar@163.com** */public class MaxNum {private MaxNum() {}public static String ...
  • 要将正整数转换为整数,反之亦然,请使用按位补码运算符(~)。让我们首先初始化一个正整数-intpositiveVal=200;现在,让我们将其转换为负数-intnegativeVal=(~(positiveVal-1));现在,我们有以下负数int-...
  • Java获取随机数

    2021-02-26 09:50:09
    Java 获取随机数import java.util.Random;public class randomDemo {public static void main(String[]args){randomDemo r=new randomDemo();System.out.println(r.randomCode());}public static String randomCode...
  • java 整数取余

    2021-03-02 10:09:50
    java整数取余是建立在java整数除法的基础上的,java整数除法可以参考我的上一篇文章java 整数除法。The remainder operation for operands that are integers after binary numeric promotion (§5.6.2) produces a ...
  • java整数存储方式

    2021-12-10 19:29:11
    整数的存储方式 java的补码,反码,原码
  • 让我们从总结Java原始数据类型开始:字节:字节数据类型是8位有符号二进制补码整数。Short:短数据类型是16位有符号二进制补码整数。int:Int数据类型是32位有符号二进制补码整数。long:长数据类型是64位有符号二...
  • 查看JAVA的Integer.MAX_VALUE和Integer.MIN_VALUE可知,在JAVA中,整数的取值范围是0x8000000到0x7FFFFFFF之间。JAVA Integer网上很多文章说都直接解释说因为int是32位,1位用来保存正负,剩下的31位用来保存数值,...
  • int main() { int num,i ... printf("所有正整数的平均值为 %.2lf\n\n",avgp); printf("20个数中整数有 %d 个\n",j); printf("整数之和为 %d\n",minus); printf("所有整数的平均值为 %.2lf\n",avgm); return 0; }
  • java虚拟机规范中定义的整数类型有byte(8位),short(16位),int(32位),long(64位),它们都是有符号整数,即最高位为符号位。这些整数JVM中使用补码来表示. 那么我们首先来了解一下原码,反码和补码. 1. 原码 符号位...
  • 输入10个整数,统计并输出其中正数、负数和零的个数.如果觉得好,#...positive_num=negative_num=用java语言解答输入10个整数,统计其中的正数,负数和零的个数publicstaticvoidmain(String[]args){Scanner...
  • 判定读入的整数中有多少个正整数、多少个整数,并计算这些整数的总和和平均值(0不计算在内)。平均值结果保留2位小数。 【输入】 一行中给出若干个整数,其间以空格分隔。如果输入0,输入即终止。 【输出】 分行...
  • Java整数相加溢出问题

    2021-08-23 17:28:22
    平时做算法题的时候,如果两个过大的int数进行相加,有可能出现溢出...但是要我们直接判断两个整数相加是否溢出呢? public int isOverflow(int x, int y) { int r = x + y; if (((x ^ r) & (y ^ r)) < 0) {
  • 1.情景展示一共有三种需求:第一种:判断字符串是否是数字字符串(可以是正整数、0、整数或者小数);第二种:判断字符串是否是纯数字,也就说我们数学上的整数(可以是正整数、0、整数,不包含小数位);第三种:...
  • JAVA计算器长整数实现

    2021-03-08 07:55:49
    展开全部public class BigIntegerextends Numberimplements Comparable不可的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如e68a843231313335323631343130323136353331333238653962 Java 的...
  • 点击查看C语言 从键盘上输入一个正整数,计算并输出该数的各位数字之和具体信息答:思路:定义变量a接受键盘输入和变量sum保存a的各位数字之和,依次对a进行除10操作,并把a除10的余数加到sum中,直到a为0为止,sum...
  • public class Test {public static void main(String[] args) {int sum=0;for(int i=1;i<10;i++)sum = sum+i*i*i*i*i*i*i*i*i*i;System.out.println(sum);}}OUTPUT:619374629for(int i=1;i<...
  • 整数的加法java

    2021-03-06 21:01:22
    2:数学......java自定义大数,并实现了两个大数的加减乘除以及比较,以及2~62进制任意数(包括但不限于正整数整数)的相互转化 java 自定义大数(进制可在 2~62 之间相互......c++大整数加减法,报告_...
  • isPos2) {66 //1正,2,去掉负号,做正整数相加 67 return addPositive(s1, s2.substring(1));68 } else if (!isPos1 &&isPos2) {69 //1,2正,绝对值相加再取负号 70 return '-' + addPositive(s1.substring(1)...
  • java正则表达式判断数字

    千次阅读 2021-02-12 19:18:06
    "^\\d+$" //非负整数(正整数 + 0)"^[0-9]*[1-9][0-9]*$" //正整数"^((-\\d+)|(0+))$" //非正整数(整数 + 0)"^-[0-9]*[1-9][0-9]*$" //整数"^-?\\d+$" //整数"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0...
  • } /** * 检查整数 * @param num * @param type "0+":非负整数 "+":正整数 "-0":非正整数 "-":整数 "":整数 * @return */ public static boolean checkNumber(String num,String type){ String eL = "";...
  • 对于整数而言,实际是由0,正整数整数组成的,所以偷个懒用前两个方法一起判断4. 对于正小数而言,可以考带+号,并考虑两种情况,第一个数字为0和第一个数字不为0,第一个数字为0时,则小数点后面应该不为0,第...
  • java中的整数类型有四种,分别是byte short int long 其中byte只有一个字节 0或1,在此不详细讲解。其他的三种类型如下:1、基本类型:short 二进制位数:16包装类:java.lang.Short最小值:Short.MIN_VALUE=-...
  • java - 如何测试double是否为整数是否有可能做到这一点?double variable;variable = 5;/* the below should return true, since 5 is an int.if variable were to equal 5.7, then it would return false. */if...
  • 2119: (难度:☆☆☆☆★) 求偶数和时间限制: 1 Sec 内存限制: 128 MB提交: 175 解决: 80[提交][状态][讨论版]题目描述编写程序,输入一批正整数(以零或负数为结束标志),求其中的偶数和。输入1 2 3 4 5 6 7 8 9 10...
  • 详细讲解Java整数类型

    2021-04-16 09:50:14
    本专栏由十年Java开发经验专家编写,本专栏定位于Java基础知识,既适合新手入门又适合老鸟巩固基础知识。一共99节课,每节课只需几毛钱。 作者简介:笔名seaboat,擅长工程算法、人工智能算法、自然语言处理、计算机...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,677
精华内容 13,470
关键字:

java正整数变负

java 订阅