Sponsored Content
Full Discussion: Negative decimal to binary
Top Forums UNIX for Beginners Questions & Answers Negative decimal to binary Post 303041435 by wisecracker on Saturday 23rd of November 2019 06:01:23 PM
Old 11-23-2019
You could use XOR but here is a solution that is fully POSIX complaint:
Code:
#!/usr/local/bin/dash
# decimal2binary.sh <integer_-128_to_127>
#
# USAGE: [/full/path/to/][./]decimal2binary.sh <integer_from_-128_to 127>

NUMBER=${1}
STRING=""
PREFIX=0

# Account for -127 to -1.
if [ ${NUMBER} -ge -127 ] && [ ${NUMBER} -le -1 ]
then
    NUMBER=$(( NUMBER + 256 ))
    PREFIX=1
fi

# Account for -128.
if [ ${NUMBER} -eq -128 ]
then
    STRING=10000000
    echo "${STRING}"
    exit
fi

# Now do calculations for positive values only.
for COUNT in 6 5 4 3 2 1 0
do
    M=$(( NUMBER / 2 ))
    N=$(( NUMBER % 2 ))
    NUMBER=${M}
    STRING=$( printf "%d" "${N}" )${STRING}
done

# Print it, no need to reverse the string...
echo "${PREFIX}${STRING}"

Results, OSX 10.14.6, default bash terminal calling dash, POSIX compliant.
Code:
Last login: Sat Nov 23 22:28:58 on ttys000
AMIGA:amiga~> cd Desktop/Code/Shell
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 0
00000000
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh -128
10000000
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh -127
10000001
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh -1
11111111
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 1
00000001
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 126
01111110
AMIGA:amiga~/Desktop/Code/Shell> ./decimal2binary.sh 127
01111111
AMIGA:amiga~/Desktop/Code/Shell> _

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

unix script for converting a decimal to binary

Could anybody please help me in writing a script in unix for converting a decimal number to binary number. (3 Replies)
Discussion started by: softy
3 Replies

2. Programming

decimal to binary function error

I have the following simple code to return a binary number in a array format given an interger and the number of the bits for specifying the interger as binary number. #include <stdio.h> #include <stdlib.h> int main () { // int* get_binary_number(int* bit_array, int num, int... (8 Replies)
Discussion started by: return_user
8 Replies

3. UNIX for Advanced & Expert Users

Converting Binary decimal coded values to Ascii Values

Hi All, Is there any command which can convert binary decimal coded values to ascii values... i have bcd values like below оооооооооооо0о-- -v - Pls suggest a way to convert this. Thanks, Deepti.Gaur (3 Replies)
Discussion started by: gaur.deepti
3 Replies

4. UNIX for Dummies Questions & Answers

Decimal to BCD (Binary Coded Decimal)

Anybody please help me... Design an algorithm that accepts an input a decimal number and converts it into BCD (Binary Coded Decimal) representation. Also, draw its Flow Chart. This is a unix qn... plz post algorithm for that :confused: (1 Reply)
Discussion started by: caramba
1 Replies

5. Homework & Coursework Questions

Decimal to BCD (Binary Coded Decimal)

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: Design an algorithm that accepts an input a decimal number and converts it into BCD (Binary... (2 Replies)
Discussion started by: caramba
2 Replies

6. Shell Programming and Scripting

error- multiplying negative decimal values

a=10.02 pattern=-11.01 b=$(echo | awk '{ print $a*$pattern}') echo $b its not working even ALso tried `expr $a \* $pattern` No LUCK (3 Replies)
Discussion started by: saluja.deepak
3 Replies

7. Shell Programming and Scripting

Converting string to negative decimal value

I need code for converting a string to a negative decimal value. For ex, i have the value in the form of a string (5489.95-) i need to convert it into decimal value (-5489.95) while getting output using printf command. i know how to get as a string a="5489.95-" printf "%10s"$a >>xyz.dat ... (5 Replies)
Discussion started by: angie1234
5 Replies

8. Shell Programming and Scripting

How to get the negate of decimal to binary?

Hi All, New to this forum (and yes , a newbie in programming..:p) I have a decimal to binary converter script done this way : i=$1 bit0=$(( (i & 0x01) > 0 )) bit1=$(( (i & 0x02) > 0 )) bit2=$(( (i & 0x04) > 0 )) bit3=$(( (i & 0x08) > 0 )) bit4=$((... (6 Replies)
Discussion started by: digiteltlc
6 Replies

9. Programming

Binary to decimal for particular bits

Hello, I have script which work fine on particular data.file . The next feature I want to achieve is to get the decimal equivalent of data to data. The data looks like this : data(01000000000000000000110000000000) thank you.. #include <iostream> #include <fstream> #include... (4 Replies)
Discussion started by: emily
4 Replies

10. Programming

Urgent help needed.. C++ program to convert decimal to hexa decimal

Hi , seq can be 0...128 int windex = seq / 8; int bindex = seq % 8; unsigned char bitvalue = '\x01' << (7-bindex) ; bpv.bitmapvalue = bitvalue; This is the part of a program to convert decimal to bitmap value of hexadecimal. I want this to change to convert only to... (1 Reply)
Discussion started by: greenworld123
1 Replies
FULLQUOTTEL(1)							   User Commands						    FULLQUOTTEL(1)

NAME
fullquottel - tool for detecting full quotes in mails or postings SYNOPSIS
fullquottel [OPTION...] < infile > outfile DESCRIPTION
fullquottel - tool for detecting full quotes in mails or postings -t, --scorethreshold=NUMBER Threshold for final score that discriminates between Goodquottel and Fullquottel (default: 1.5) --quotechars=CHARS Chars used for quoting (default: >|#) -d, --debug Debug option (prints single test results; default: off) --ownsigtest=1|0 Turn on/off ownSigTest (default: on) --ownsigtestscore=NUMBER Score for ownSigTest (default: 1.0) -f, --ownsigtestfile=SIGFILE Signature file to test against (default: ~/.signature) --mstest=1|0 Turn on/off msTest (Microsoft attribution lines; default: on) --mstestscore=NUMBER Score for msTest (default: 1.0) --mstestthreshold=NUMBER Threshold for msTest (at or below which line a Microsoft attribution line ist found; default: 2) --quotedtoalltest=1|0 Turn on/off quotedToAllTest (ratio quoted lines to all; default: on) --quotedtoalltestscore=NUMBER Score for quotedToAllTest (default: 1.0) --quotedtoalltestfactor=NUMBER Result = score + ratio * FACTOR (default: 0) --quotedtoalltestthreshold=NUMBER Ratio threshold for activating quotedToAllTest (default: 0.5) --bottomquotedtoalltest=1|0 Turn on/off bottomQuotedToAllTest (ratio quoted lines at bottom to all; default: on) --bottomquotedtoalltestscore=NUMBER Score for bottomQuotedToAllTest (default: 1.0) --bottomquotedtoalltestfactor=NUMBER Result = score + ratio * FACTOR (default: 0) --bottomquotedtoalltestthreshold=NUMBER Ratio threshold for activating bottomQuotedToAllTest (default: 0.5) --bottomquotedtoquotedtest=1|0 Turn on/off bottomQuotedToQuotedTest (ratio quoted lines at bottom to all quoted lines; default: on) --bottomquotedtoquotedtestscore=NUMBER Score for bottomQuotedToQuotedTest (default: 1.0) --bottomquotedtoquotedtestfactor=NUMBER Result = score + ratio * FACTOR (default: 0) --bottomquotedtoquotedtestthreshold=NUMBER Ratio threshold for activating bottomQuotedToQuotedTest (default: 0.5) --singlebottomquotetest=1|0 Turn on/off singleBottomQuoteTest (only one quote block, and at the bottom; default: on) --singlebottomquotetestscore=NUMBER Score for singleBottomQuoteTest (default: 1.0) HINT: All long options (without leading --) can be used in ~/.fullquottelrc -?, --help Give this help list --usage Give a short usage message -V, --version Print program version Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. REPORTING BUGS
Report bugs to <toast@toastfreeware.priv.at>. SEE ALSO
The full documentation for fullquottel is maintained in HTML created by doxygen and can be found in /usr/share/doc/fullquottel/html/ fullquottel 0.1.2 April 2007 FULLQUOTTEL(1)
All times are GMT -4. The time now is 09:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy