2011-08-18 20 views
7

जब मैं निम्नलिखित Visual Basic कोड चलाएँ:जावा में पावर ऑपरेटर?

Dim b As Double 
b = (2^16 - 1) * Math.Sqrt(Math.Sqrt((a/(2^8 - 1)))) 


परिणाम मैं b के लिए मिलता है 32,275 के बारे में है (यह मानते हुए a एक डबल जिसका मूल्य 15.0 है)।

लेकिन जब मैं निम्नलिखित जावा कोड है, जो ऊपर के रूप में भी ऐसा ही माना जाता है चलाएँ: के बारे में 17

: a जा रहा है 15 के साथ फिर से

double b; 
b = (2^16 - 1) * Math.sqrt(Math.sqrt((a/(2^8 - 1)))); 

, मैं एक बहुत अलग परिणाम प्राप्त

enter image description here

क्यों है ऐसा: दोनों इस समीकरण को हल कर रहे हैं? मैं जिस पर काम कर रहा हूं, उसके लिए विजुअल बेसिक उपज परिणाम मैं देख रहा हूं।

उत्तर

24

^ जावा में XOR operator है। Math.pow(2,8) का उपयोग करें जो विजुअल बेसिक में 2^8 है।

+1

एक्सओआर चीज के अलावा, जावा में एक int या double है? क्योंकि अगर इसकी int है, तो ए/एक्स भी int है। इस मामले में – pablosaraiva

+0

'ए' एक डबल मान है। – Kenan

+0

धन्यवाद! यह समाधान काम किया। मैं सोच रहा था कि क्यों 'Math.pow()' अस्तित्व में था अगर मैं सिर्फ '^' (जिसे मैं जानता हूं कि मैं नहीं कर सकता) का उपयोग कर सकता हूं। – Kenan

संबंधित मुद्दे