Sponsored Content
Top Forums Shell Programming and Scripting KSH arithmatic Integer overflow Post 48500 by vikas_sri on Tuesday 9th of March 2004 11:13:39 AM
Old 03-09-2004
Question KSH arithmatic Integer overflow

Guys,

I have two big numbers to multiply. In doing do I am getting integer overflow.
I managed to multiply number but this number is useless as KSh does not recognise it as
a valid number. Here is what I am doing

$ expr 999999999999 \* 100
276447132

I got the right value by doing this

$ expr "999999999999 * 100" | bc
99999999999900

But this value can not be used in comparison.

Is it possible to do it in KSH? I am using 32 bit KSH on 64 bit system.
 

8 More Discussions You Might Find Interesting

1. Programming

warning: integer overflow in expression

I have the following expression: #define GB (1024 * 1024 * 1024) #define TB (1024 * GB) #define MAX_SIZE (3 * TB) off_t current_size; And then the expression... if (current_size > MAX_SIZE) { ... (1 Reply)
Discussion started by: tantric
1 Replies

2. Shell Programming and Scripting

"integer" in ksh? how to count with shell

Hy Stupid question, I know. But I can't get the Solution. As I know C / Java / PHP and other languages I can't get the point with ksh :o. in a while/do iteration I like to count up an integer counter. but counter++ doesn't work, also counter=$counter+1 echoes me 0+1+1 when I iterate 2... (3 Replies)
Discussion started by: lucae
3 Replies

3. Shell Programming and Scripting

arithmatic with awk

hi, i am trying some awk arthmatic calculation,i have a problem if any one can help let say if i have a file exm.txt 3 + 2 3 * 2 3 / 2 3 - 2 the output expected is awk -f exm.awk exm.txt 3 + 2 = 5 3 * 2 = 6 3 / 2 = 1.5 3 - 2 = 1 i simply used exm.awk { print $1 " + " $3 "= " $1 +... (3 Replies)
Discussion started by: phone_book
3 Replies

4. UNIX for Dummies Questions & Answers

Trying a arithmatic on a command line vs scripting.

Hi Everyone! I'm trying to do simple math on a single command line instead of a script which I've already set up using let etc. I can not get the same output to display on a command line. Essentially I would like a=20, b=50, and c=a*b. When I tried: let "A=20, B=50"; let C=A*B; echo $C ... (2 Replies)
Discussion started by: CasperQuiet
2 Replies

5. Shell Programming and Scripting

integer comparison in ksh

Hi, I am just trying to compare integer in ksh. can you please tell me what's wrong with this code... or give me suggestions on alternative. sample code: i=0; if ; then echo inside if fi Thanks in advance! (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies

6. Shell Programming and Scripting

Integer in conditional ksh statement

Hi, This is confusing me and I would appreciate some help. Consider this script #!/bin/ksh typset -i stat=`ls -l $WORK/stat |wc -l` if (( $stat < 20 )) then echo true else echo false fi If the value of $stat is say 29. When I run this above it echos true and not false.... (7 Replies)
Discussion started by: giles.cardew
7 Replies

7. Shell Programming and Scripting

how to compare string integer with an integer?

hi, how to I do this? i="4.000" if ; then echo "smaller" fi how do I convert the "4.000" to 4? Thanks! (4 Replies)
Discussion started by: h0ujun
4 Replies

8. Shell Programming and Scripting

arithmatic

Hi Guys, I am relatively new to scripting at the moment and am struggling to get the following function to work. For some reason it does not recognise the arithmatic symbol when i select option1. Any help would be greatly appreciated. menu () { echo "==============" echo "Calculator"... (4 Replies)
Discussion started by: somersetdan
4 Replies
fmlexpr(1F)							   FMLI Commands						       fmlexpr(1F)

NAME
fmlexpr - evaluate arguments as an expression SYNOPSIS
fmlexpr arguments DESCRIPTION
The fmlexpr function evaluates its arguments as an expression. After evaluation, the result is written on the standard output. Terms of the expression must be separated by blanks. Characters special to FMLI must be escaped. Note that 30 is returned to indicate a zero value, rather than the null string. Strings containing blanks or other special characters should be quoted. Integer-valued arguments may be pre- ceded by a unary minus sign. Internally, integers are treated as 32-bit, 2s complement numbers. The operators and keywords are listed below. Characters that need to be escaped are preceded by . The list is in order of increasing precedence, with equal precedence operators grouped within {} symbols. USAGE
Expressions expr | expr Returns the first expr if it is neither NULL nor 0, otherwise returns the second expr. expr & expr Returns the first expr if neither expr is NULL or 0, otherwise returns 0. expr { =, >, >=, <, <=, != } expr Returns the result of an integer comparison if both arguments are integers, otherwise returns the result of a lexical comparison. expr { +, - } expr Addition or subtraction of integer-valued arguments. expr { *, /, % } expr Multiplication, division, or remainder of the integer-valued arguments. expr : expr The matching operator : (colon) compares the first argument with the second argument which must be a regular expression. Regular expression syntax is the same as that of ed(1), except that all patterns are "anchored" (that is, begin with ^) and, therefore, ^ is not a special character, in that context. Normally, the matching operator returns the number of bytes matched (0 on failure). Alterna- tively, the (...) pattern symbols can be used to return a portion of the first argument. EXAMPLES
Example 1: Incrementing a variable Add 1 to the variable a: example% fmlexpr $a + 1 | set -l a Example 2: Setting a variable equal to a filename For $a equal to either /usr/abc/file or just file: example% fmlexpr $a : .*/(.*) | $a returns the last segment of a path name (that is, file). Watch out for / alone as an argument: fmlexpr will take it as the division opera- tor (see NOTES below). Example 3: A better representation of Example 2 example% fmlexpr //$a : .*/(.*) The addition of the // characters eliminates any ambiguity about the division operator (because it makes it impossible for the left-hand expression to be interpreted as the division operator), and simplifies the whole expression. Example 4: Counting characters in a variable Return the number of characters in $VAR: example% fmlexpr $VAR : .* EXIT STATUS
As a side effect of expression evaluation, fmlexpr returns the following exit values: 0 if the expression is neither NULL nor 0 (that is, TRUE) 1 if the expression is NULL or 0 (that is, FALSE) 2 for invalid expressions (that is, FALSE). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
ed(1), expr(1), set(1F), sh(1), attributes(5) DIAGNOSTICS
syntax error for operator/operand errors non-numeric argument if arithmetic is attempted on such a string In the case of syntax errors and non-numeric arguments, an error message will be printed at the current cursor position. Use refresh to redraw the screen. NOTES
After argument processing by FMLI, fmlexpr cannot tell the difference between an operator and an operand except by the value. If $a is an =, the command: example% fmlexpr $a = = looks like: example% fmlexpr = = = as the arguments are passed to fmlexpr (and they will all be taken as the = operator). The following works, and returns TRUE: example% fmlexpr X$a = X= SunOS 5.10 5 Jul 1990 fmlexpr(1F)
All times are GMT -4. The time now is 11:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy