| Afiseaza numarul in baze diferite |
|
| Scris de Cypress | ||||||
| Thursday, 22 November 2007 | ||||||
|
#!/bin/bash ########################################################################## # Title : base.sh - print number to different bases # Author : Heiner Steven (stv) # Date : 1995-03-07 # Requires : bc # Category : Desktop # SCCS-Id. : @(#) base.sh 1.3 04/02/18 ########################################################################## # Description # # Changes # 21-03-95 stv fixed error occuring with 0xb as input (0.2) ########################################################################## PN=`basename "$0"` # program name VER='1.3' Usage () { echo "$PN - print number to different bases, $VER (stv '95) usage: $PN [number ...] If no number is given, the numbers are read from standard input. A number may be binary (base 2) starting with 0b (i.e. 0b1100) octal (base 8) starting with 0 (i.e. 014) hexadecimal (base 16) starting with 0x (i.e. 0xc) decimal otherwise (i.e. 12)" >&2 exit 1 } Msg () { for i do echo "$PN: $i" >&2 done } Fatal () { Msg "$@"; exit 1; } PrintBases () { # Determine base of the number for i do case "$i" in 0b*) ibase=2;; # binary 0x*|[a-f]*|[A-F]*) ibase=16;; # hexadecimal 0*) ibase=8;; # octal [1-9]*) ibase=10;; # decimal *) Msg "illegal number $i - ignored" continue;; esac # Remove prefix, convert hex digits to uppercase (bc needs this) number=`echo "$i" | sed -e 's:^0[bBxX]::' | tr '[a-f]' '[A-F]'` # Convert number to decimal dec=`echo "ibase=$ibase; $number" | bc` case "$dec" in [0-9]*) ;; # number ok *) continue;; # error: ignore esac # Print all conversions in one line echo `bc <<! obase=16; "hex="; $dec obase=10; "dec="; $dec obase=8; "oct="; $dec obase=2; "bin="; $dec ! ` | sed -e 's: : :g' done } while [ $# -gt 0 ] do case "$1" in --) shift; break;; -h) Usage;; -*) Usage;; *) break;; # first number esac shift done if [ $# -gt 0 ] then PrintBases "$@" else # read from stdin while read line do PrintBases $line done fi
Only registered users can write comments! Powered by !JoomlaComment 3.12 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved. |
||||||



Ubuntu 8.10 Alpha 1 Screenshots
Imi pare rau sa constat ca nou venitii i...
E greu sa inveti
multzam fain asta a fost poanta zilei :...
Ubuntu 8.10 Alpha 1 Screenshots
"Ce nici o distributie de linux nu p...
Ubuntu 8.10 Alpha 1 Screenshots
Timpul de instalare NU este relevant. Va...
Ubuntu 8.10 Alpha 1 Screenshots
azi dupa update+reboot mi-a inghetzat Gn...
4 Jocuri "High-End"
Super tare, nu stiam de ele. Dar am sa l...
4 Jocuri "High-End"
Patronul: Ce naiba are iar site-ul asta ...