Java – Math.pow example

A simple Math.pow example, display 2 to the power of 8.

In Math

2^8 = 2x2x2x2x2x2x2x2 =256

In Java

Math.pow(2, 8)

Note
In Java, the symbol ^ is a XOR operator, DON’T use this for the power calculation.

TestPower.java

package com.mkyong.test;

import java.text.DecimalFormat;

public class TestPower {

    static DecimalFormat df = new DecimalFormat(".00");

    public static void main(String[] args) {

        //1. Math.pow returns double, need cast, display 256
        int result = (int) Math.pow(2, 8);
        System.out.println("Math.pow(2, 8) : " + result);

        //2. Wrong, ^ is a binary XOR operator, display 10
        int result2 = 2 ^ 8;
        System.out.println("2 ^ 8 : " + result2);

        //3. Test double , display 127628.16
        double result3 = Math.pow(10.5, 5);
        System.out.println("Math.pow(10.5, 5) : " + df.format(result3));

    }

}

Output

Math.pow(2, 8) : 256
2 ^ 8 : 10
Math.pow(10.5, 5) : 127628.16
“`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个 GroupSignature 类的伪代码,其中包含了一个公钥列表 publicKeys。 ``` package org.example; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; public class GroupSignature { private ArrayList<BigInteger> publicKeys; public GroupSignature() { publicKeys = new ArrayList<BigInteger>(); } public void addPublicKey(BigInteger publicKey) { publicKeys.add(publicKey); } public void removePublicKey(BigInteger publicKey) { publicKeys.remove(publicKey); } public ArrayList<BigInteger> getPublicKeys() { return publicKeys; } public BigInteger generateSignature(String message) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(message.getBytes()); byte[] digest = md.digest(); BigInteger signature = new BigInteger(digest); for (BigInteger publicKey : publicKeys) { signature = signature.modPow(publicKey, BigInteger.valueOf(2).pow(256)); } return signature; } public boolean verifySignature(String message, BigInteger signature) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(message.getBytes()); byte[] digest = md.digest(); BigInteger checkSignature = new BigInteger(digest); for (BigInteger publicKey : publicKeys) { checkSignature = checkSignature.modPow(publicKey, BigInteger.valueOf(2).pow(256)); } return checkSignature.equals(signature); } } ``` 这个类提供了一些基本的功能,包括添加和删除公钥、获取公钥列表、生成签名和验证签名。其中签名的生成和验证使用了 SHA-256 哈希函数和 RSA 签名算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值