For personnal use only
|
|
- Rose Newman
- 5 years ago
- Views:
Transcription
1 Korn Shell 93 Bit Manipulation Finnbarr P. Murphy When programmers think about bitwise manipulation, they usually think about using C or C++ to solve their problem since both programming languages provide a rich set of features which make it easy to perform bitwise manipulation. However it is possible to just as easily perform such operations using the ksh93 shell. This post will explain what bitwise manipulation and number conversion facilities are available in ksh93 and provide some hopefully useful utilities and examples. Many programmers are unaware that ksh93 has builtin support for different numeral radices (AKA arithmetic bases) as shown in the following example. $ print $(( )) 30 $ print $(( 2# )) 22 $ print $(( 2#10 + 4#20 )) 10 $ where base 2 is denoted by 2#, base 4 by #4 and so on. The general case syntax is [base#]n where base is a decimal number between 2 and 36 representing the arithmetic base and n is a number in that base. You can mix and match bases within expressions. As you would expect, the default base, i.e. if [base#] is omitted, is decimal(10). Here is an example of how to convert decimal 255 to base 2, base 8 and base 16 respectively using the typeset command. $ typeset -i2 a=255 $ echo $a 2# $ typeset -i8 a=255 $ echo $a 8#377 $ typeset -i16 a=255 $ echo $a 16#ff $ Note that ksh93 displays the base prefix before each number unless it is a decimal number, i.e. base 10. The bitwise manipulation operators in ksh93 are AND, OR, XOR, SHIFT LEFT and SHIFT RIGHT. There are no SHIFT ROTATE or COMPLEMENT operators. The following is the list of supported bitwise operators in decreasing order of precedence which, by the way, is the same as in the C programming language. <> Bitwise shift left, shift right & Bitwise AND ^ Bitwise XOR Bitwise OR Copyright Finnbarr P. Murphy. All rights reserved. 1/6
2 The following shell script includes both logical and bitwise operators together with the expected output for each statement. Notice the difference in output between a logical and bitwise operator. integer -i2 a=5 integer -i2 b=6 # expected output 1 print $(( a < b )) # expected output 0 print $(( a > b )) # expected output 3 print $(( a ^ b )) # expected output 4 print $(( a & b )) # expected output 1 print $(( a && b )) # expected output 7 print $(( a b )) # expected output 1 print $(( a b )) A useful feature of bitwise operators is that by using the shift left and shift right bitwise operators you can mimic multiplication or division by 2 or a power of 2. $ x=4 $ print $((x < 8 $ print $(( x < 16 $ print $(( x >> 1 )) 2 $ print $(( x >> 2 )) 1 Here is a fairly simple shell script which uses numeric base conversion and bitwise operators to calculate the network and broadcast addresses for a given IP address and subnet mask.\ typeset -i2 mask=255 [[ $#!= 2 ]] && { echo "Usage: $0 ipaddress subnetmask" exit 1 } SaveIFS=$IFS IFS=. typeset -a IParr=($1) typeset -a NMarr=($2) IFS=$SaveIFS typeset -i2 ip1=${iparr[0]} typeset -i2 ip2=${iparr[1]} typeset -i2 ip3=${iparr[2]} typeset -i2 ip4=${iparr[3]} typeset -i2 nm1=${nmarr[0]} typeset -i2 nm2=${nmarr[1]} typeset -i2 nm3=${nmarr[2]} typeset -i2 nm4=${nmarr[3]} echo echo " IP Address: $1" echo " Subnet Mask: $2" echo " Network Address: $((ip1 & nm1)).$((ip2 & nm2)).$((ip3 & nm3)).$((ip4 & amp; nm4))" echo "Broadcast Address: $((ip1 (mask ^ nm1))).$((ip2 (mask ^ nm2))).$((ip3 (mask ^ nm3))).$(( ip4 (mask ^ nm4)))" Copyright Finnbarr P. Murphy. All rights reserved. 2/6
3 echo exit 0 Some sample output for this script. $./calculate-address IP Address: Subnet Mask: Network Address: Broadcast Address: $./calculate-address IP Address: Subnet Mask: Network Address: Broadcast Address: The next example calculates the network and broadcast addresses for a Classless Inter-Domain Routing (CIDR) compliant IP address. Note the use of the shift right operator in calculating the network mask. [[ $#!= 1 ]] && { echo "Usage: $0 ipaddress/netmask" exit 1 } SaveIFS=$IFS IFS="./" typeset -a IParr=($1) IFS=$SaveIFS typeset -i2 ip1=${iparr[0]} typeset -i2 ip2=${iparr[1]} typeset -i2 ip3=${iparr[2]} typeset -i2 ip4=${iparr[3]} typeset -i2 cidr=${iparr[4]} typeset -i2 nm1=0 nm2=0 nm3=0 nm4=0 typeset -i quad=$(( cidr / 8 )) sigbits=$(( cidr % 8 )) if (( sigbits!= 0 )); then slot=$(( ( 256 >> $sigbits ) )) fi for (( i=1; i < 5; i++ )) nameref nm=nm${i} if (( quad!= 0 )); then nm=255 (( --quad )) elif (( quad == 0 )); then nm=slot break fi ne typeset -i2 mask=255 print print " IP Address: $((ip1)).$((ip2)).$((ip3)).$((ip4))" print " CIDR Netmask Mask: $((nm1)).$((nm2)).$((nm3)).$((nm4))" print " CIDR Network (Route): $((ip1 & nm1)).$((ip2 & nm2)).$((ip3 & nm3)).$(( ip4 & nm4))" print " Broadcast Address: $((ip1 (mask ^ nm1))).$((ip2 (mask ^ nm2))).$((ip3 (ma sk ^ nm3))).$((ip4 (mask ^ n m4)))" Copyright Finnbarr P. Murphy. All rights reserved. 3/6
4 print exit 0 Sample output: $./calculate-address " /18" IP Address: CIDR Network Mask: CIDR Network (Route): Broadcast Address: For my example, suppose you are given a hexadecimal string 3AF9:3B01 and you want to expand that string to produce a list of all the values between 3AF9 and 3B01. The wrinkle is that you want all letters in the hexadecimal numbers to be uppercased. x=3af9:3b01 typeset -i16 a=0x${x%:*} typeset -i16 b=0x${x#*:} typeset -u c for (( ; a <= b; a++ )) c=${a:3} echo "$c" ne Here is the output: $./hexlist 3AF9 3AFA 3AFB 3AFC 3AFD 3AFE 3AFF 3B00 3B01 Here is another interesting example of using bit arithmetic to solve a problem. In this particular case, the user wanted to have a shell script which accepted a 32-bit hexadecimal number as input and assigns consecutive blocks of 4 bits of the equivalent binary number to each of 8 variables. integer -i2 mask=16#f integer -i2 v0 v1 v2 v3 v4 v5 v6 v7 read hn?"enter a 32-bit hex decimal number: " integer -i2 in=16#$hn for ((i=0; i < 8; i++)) nameref var=v${i} var=$(( ((in << (i*4)) & mask) >> 28 )) ne printf "% d\n" $in printf "%04.0.2d %04.0.2d %04.0.2d %04.0.2d %04.0.2d %04.0.2d %04.0.2d %04.0.2d\n" \ $v0 $v1 $v2 $v3 $v4 $v5 $v6 $v Copyright Finnbarr P. Murphy. All rights reserved. 4/6
5 Note the use of a third specifier with %d. In ksh93, each of the integral format specifiers can have a third modifier after width and precision that specifies the base of the conversion from 2 to 64. In addition the use of the # modifier as the third specifier will cause base# to be prepended to the value. Here is sample output for this script: $./hexblock Enter a 32-bit hex decimal number: abcdabcd $./hexblock Enter a 32-bit hex decimal number: AFC Suppose instead that you wanted to store the individual bits in an array. Here is one way to this is: read num?"enter binary 32 bit number: " integer -i2 a=2#$num integer -i2 mask=2# typeset -ui barray=( ) for (( i=0; i < 32; i++, mask=$(( mask << 1)) )) nameref var=barray[$i] (( $mask & $a )) && var=1 ne # how to test the array values if (( ${barray[0]} )) then echo "barray[0] is 1" else echo "barray[0] is 0" fi This example calculates the binary and decimal equivalent of an IP address: [[ $#!= 1 ]] && { echo "Usage: $0 ipaddress" exit 1 } SaveIFS=$IFS IFS="." typeset -a IParr=($1) IFS=$SaveIFS typeset -i2 ip1=${iparr[0]} typeset -i2 ip2=${iparr[1]} typeset -i2 ip3=${iparr[2]} typeset -i2 ip4=${iparr[3]} typeset -ui2 d=$(( (ip1 << 24) (ip2 << 16) (ip3 << 8) ip4 )) print "Inputted IP$ address: $((ip1)).$((ip2)).$((ip3)).$((ip4))" print " Binary equivalent: $d" print " Decimal equivalent: $((d))" exit Copyright Finnbarr P. Murphy. All rights reserved. 5/6
6 Here is sample output: $./example Inputted IP$ address: Binary equivalent: 2# Decimal equivalent: Finally, I would be amiss if I did not point out that both the bash and zsh shells also provide a full set of bitwise operators and support number base conversion Copyright Finnbarr P. Murphy. All rights reserved. 6/6
COMP 4/6262: Programming UNIX
COMP 4/6262: Programming UNIX Lecture 12 shells, shell programming: passing arguments, if, debug March 13, 2006 Outline shells shell programming passing arguments (KW Ch.7) exit status if (KW Ch.8) test
More informationFor personnal use only
Manipulating Binary Data Using The Korn Shell Finnbarr P. Murphy (fpm@fpmurphy.com) Most people are unaware that ksh93 (Korn Shell 93) can handle binary data. As the following examples will demonstrate,
More informationFor personnal use only
Korn Shell 93 Extended I/0 Finnbarr P Murphy (fpm@fpmurphycom) The ksh93 exec command is a special overloaded built-in command that can be used to manipulate le descriptors or to replace the current shell
More informationOperators in C. Staff Incharge: S.Sasirekha
Operators in C Staff Incharge: S.Sasirekha Operators An operator is a symbol which helps the user to command the computer to do a certain mathematical or logical manipulations. Operators are used in C
More informationNUMERIC SYSTEMS USED IN NETWORKING
NUMERIC SYSTEMS USED IN NETWORKING Decimal - Binary - Hexadecimal Table ASCII Code 128 64 32 16 8 4 2 1 The Letter A 0 1 0 0 0 0 0 1 Data Units Base 10 Numbering System Base 2 Numbering System Decimal
More informationSome Subnetting Practice Problem Solutions
Some Subnetting Practice Problem Solutions practice problem 1. What is 23.183.62.51 in binary? Solution: dec bin 23 0001 0111 183 1011 0111 62 0011 1110 51 0011 0011 2. What class address is this? Solution:
More informationCisco IOS Shell. Finding Feature Information. Prerequisites for Cisco IOS.sh. Last Updated: December 14, 2012
Cisco IOS Shell Last Updated: December 14, 2012 The Cisco IOS Shell (IOS.sh) feature provides shell scripting capability to the Cisco IOS command-lineinterface (CLI) environment. Cisco IOS.sh enhances
More informationArithmetic Operations
Arithmetic Operations Arithmetic Operations addition subtraction multiplication division Each of these operations on the integer representations: unsigned two's complement 1 Addition One bit of binary
More informationLAB A Translating Data to Binary
LAB A Translating Data to Binary Create a directory for this lab and perform in it the following groups of tasks: LabA1.java 1. Write the Java app LabA1 that takes an int via a command-line argument args[0]
More informationIP Addresses McGraw-Hill The McGraw-Hill Companies, Inc., 2000
IP Addresses The IP addresses are unique. An IPv4 address is a 32-bit address. An IPv6 address is a 128-bit address. The address space of IPv4 is 2 32 or 4,294,967,296. The address space of IPv6 is 2 128
More informationCS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation
CS113: Lecture 3 Topics: Variables Data types Arithmetic and Bitwise Operators Order of Evaluation 1 Variables Names of variables: Composed of letters, digits, and the underscore ( ) character. (NO spaces;
More informationCS 241 Data Organization Binary
CS 241 Data Organization Binary Brooke Chenoweth University of New Mexico Fall 2017 Combinations and Permutations In English we use the word combination loosely, without thinking if the order of things
More informationBasic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island
Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Data Types Basic Types Enumerated types The type void Derived types
More informationBasic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition
Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.
More informationVLSM and CIDR. Routing Protocols and Concepts Chapter 6. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1
VLSM and CIDR Routing Protocols and Concepts Chapter 6 Version 4.0 1 Objectives Compare and contrast classful and classless IP addressing. Review VLSM and explain the benefits of classless IP addressing.
More informationTCP/IP. Model and Layers Bits and Number Bases IPv4 Addressing Subnetting Classless Interdomain Routing IPv6
TCP/IP Model and Layers Bits and Number Bases IPv4 Addressing Subnetting Classless Interdomain Routing IPv6 At the beginning of the course, we discussed two primary conceptual models of networking: OSI
More informationME 461 C review Session Fall 2009 S. Keres
ME 461 C review Session Fall 2009 S. Keres DISCLAIMER: These notes are in no way intended to be a complete reference for the C programming material you will need for the class. They are intended to help
More informationGO - OPERATORS. This tutorial will explain the arithmetic, relational, logical, bitwise, assignment and other operators one by one.
http://www.tutorialspoint.com/go/go_operators.htm GO - OPERATORS Copyright tutorialspoint.com An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.
More information6.6 Subnetting and Variable Length Subnet Masks (VLSMs)
6.6 Subnetting and Variable Length Subnet Masks (VLSMs) The subnetting is a process of dividing a single network into subnets as known from previous sections. There are many reasons behind that: 1. Reduced
More informationCCE1030 Computer Networking
CCE1030 Computer Networking Lecture 19 Subnetting CIDR / VLSM Usama Arusi January 2018 CCE1030 Usama Arusi 1 Lecture Content Introduction Classful IP Addressing Classful Addressing Structure Classless
More informationLab Using the Windows Calculator with Network Addresses
Objectives Part 1: Access the Windows Calculator Part 2: Convert between Numbering Systems Part 3: Convert Host IPv4 Addresses and Subnet Masks into Binary Part 4: Determine the Number of Hosts in a Network
More informationCENG393 Computer Networks Labwork 2
CENG393 Computer Networks Labwork 2 As of 2017, every device (computers, mobile phones, IoT 1 devices, etc) has to obtain an IP address in order to connect to a network. There are two IP specifications
More informationOperators and Expressions in C & C++ Mahesh Jangid Assistant Professor Manipal University, Jaipur
Operators and Expressions in C & C++ Mahesh Jangid Assistant Professor Manipal University, Jaipur Operators and Expressions 8/24/2012 Dept of CS&E 2 Arithmetic operators Relational operators Logical operators
More informationBeginning C Programming for Engineers
Beginning Programming for Engineers R. Lindsay Todd Lecture 6: Bit Operations R. Lindsay Todd () Beginning Programming for Engineers Beg 6 1 / 32 Outline Outline 1 Place Value Octal Hexadecimal Binary
More informationAnd Parallelism. Parallelism in Prolog. OR Parallelism
Parallelism in Prolog And Parallelism One reason that Prolog is of interest to computer scientists is that its search mechanism lends itself to parallel evaluation. In fact, it supports two different kinds
More informationFor personnal use only
Using Types To Create Object Orientated Korn Shell 93 Scripts Finnbarr P. Murphy (fpm@fpmurphy.com Most experienced software developers are familiar with the fact the Python, Perl, Ruby, JavaScript and
More informationOperations On Data CHAPTER 4. (Solutions to Odd-Numbered Problems) Review Questions
CHAPTER 4 Operations On Data (Solutions to Odd-Numbered Problems) Review Questions 1. Arithmetic operations interpret bit patterns as numbers. Logical operations interpret each bit as a logical values
More informationShell programming. Introduction to Operating Systems
Shell programming Introduction to Operating Systems Environment variables Predened variables $* all parameters $# number of parameters $? result of last command $$ process identier $i parameter number
More informationCSE 351: The Hardware/Software Interface. Section 2 Integer representations, two s complement, and bitwise operators
CSE 351: The Hardware/Software Interface Section 2 Integer representations, two s complement, and bitwise operators Integer representations In addition to decimal notation, it s important to be able to
More informationBITWISE OPERATORS. There are a number of ways to manipulate binary values. Just as you can with
BITWISE OPERATORS There are a number of ways to manipulate binary values. Just as you can with decimal numbers, you can perform standard mathematical operations - addition, subtraction, multiplication,
More informationCS & IT Conversions. Magnitude 10,000 1,
CS & IT Conversions There are several number systems that you will use when working with computers. These include decimal, binary, octal, and hexadecimal. Knowing how to convert between these number systems
More informationIP Addressing. Introductory material. An entire module devoted to IP addresses. Pedro Brandão (PhD) University of Évora
IP Addressing Introductory material. An entire module devoted to IP addresses. Pedro Brandão (PhD) University of Évora IP Addresses Structure of an IP address Subnetting CIDR IP Version 6 addresses IP
More informationExpression and Operator
Expression and Operator Examples: Two types: Expressions and Operators 3 + 5; x; x=0; x=x+1; printf("%d",x); Function calls The expressions formed by data and operators An expression in C usually has a
More informationLecture 13 Bit Operations
Lecture 13 Bit Operations C is a powerful language as it provides the programmer with many operations for bit manipulation. Data can be accessed at the bit level to make operations more efficient. As you
More informationbash Execution Control COMP2101 Winter 2019
bash Execution Control COMP2101 Winter 2019 Bash Execution Control Scripts commonly can evaluate situations and make simple decisions about actions to take Simple evaluations and actions can be accomplished
More informationObjectives. Note: An IP address is a 32-bit address. The IP addresses are unique. The address space of IPv4 is 2 32 or 4,294,967,296.
Chapter 4 Objectives Upon completion you will be able to: Understand IPv4 addresses and classes Identify the class of an IP address Find the network address given an IP address Understand masks and how
More informationChapter 12 Variables and Operators
Chapter 12 Variables and Operators Basic C Elements Variables Named, typed data items Operators Predefined actions performed on data items Combined with variables to form expressions, statements Statements
More informationFundamentals of Programming
Fundamentals of Programming Lecture 3 - Constants, Variables, Data Types, And Operations Lecturer : Ebrahim Jahandar Borrowed from lecturer notes by Omid Jafarinezhad Outline C Program Data types Variables
More informationPositional notation Ch Conversions between Decimal and Binary. /continued. Binary to Decimal
Positional notation Ch.. /continued Conversions between Decimal and Binary Binary to Decimal - use the definition of a number in a positional number system with base - evaluate the definition formula using
More informationProgramming. Elementary Concepts
Programming Elementary Concepts Summary } C Language Basic Concepts } Comments, Preprocessor, Main } Key Definitions } Datatypes } Variables } Constants } Operators } Conditional expressions } Type conversions
More informationCS107, Lecture 3 Bits and Bytes; Bitwise Operators
CS107, Lecture 3 Bits and Bytes; Bitwise Operators reading: Bryant & O Hallaron, Ch. 2.1 This document is copyright (C) Stanford Computer Science and Nick Troccoli, licensed under Creative Commons Attribution
More informationPrepared by: Shraddha Modi
Prepared by: Shraddha Modi Introduction Operator: An operator is a symbol that tells the Computer to perform certain mathematical or logical manipulations. Expression: An expression is a sequence of operands
More informationOperators. Java operators are classified into three categories:
Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.
More informationWill introduce various operators supported by C language Identify supported operations Present some of terms characterizing operators
Operators Overview Will introduce various operators supported by C language Identify supported operations Present some of terms characterizing operators Operands and Operators Mathematical or logical relationships
More informationJAVA OPERATORS GENERAL
JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators
More informationLooping Commands and Working with user Inputs CHAPTER 4
Looping Commands and Working with user Inputs CHAPTER 4 The For Command for command allows you to create a loop that iterates through a series of values. Loops are used to execute set of command for multiple
More information28-Nov CSCI 2132 Software Development Lecture 33: Shell Scripting. 26 Shell Scripting. Faculty of Computer Science, Dalhousie University
Lecture 33 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 33: Shell Scripting 28-Nov-2018 Location: Chemistry 125 Time: 12:35 13:25 Instructor: Vla Keselj
More informationReview Topics. Midterm Exam Review Slides
Review Topics Midterm Exam Review Slides Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University!! Computer Arithmetic!! Combinational
More informationIntroduction. Following are the types of operators: Unary requires a single operand Binary requires two operands Ternary requires three operands
Introduction Operators are the symbols which operates on value or a variable. It tells the compiler to perform certain mathematical or logical manipulations. Can be of following categories: Unary requires
More informationLCSL Reference Manual
LCSL Reference Manual Sachin Nene, Chaue Shen, Bogdan Caprita, Julian Maller 1.1 Lexical Conventions 1.1.1 Comments Comments begin with (* and end with *) 1.1.2 Variables Variables consist solely of alphanumeric
More informationCS107, Lecture 3 Bits and Bytes; Bitwise Operators
CS107, Lecture 3 Bits and Bytes; Bitwise Operators reading: Bryant & O Hallaron, Ch. 2.1 This document is copyright (C) Stanford Computer Science and Nick Troccoli, licensed under Creative Commons Attribution
More informationUNIVERSITY OF LIMERICK OLLSCOIL LUIMNIGH COLLEGE OF INFORMATICS & ELECTRONICS DEPARTMENT OF ELECTRONIC & COMPUTER ENGINEERING
UNIVERSITY OF LIMERICK OLLSCOIL LUIMNIGH COLLEGE OF INFORMATICS & ELECTRONICS DEPARTMENT OF ELECTRONIC & COMPUTER ENGINEERING MODULE CODE: MODULE TITLE: ET4131 Introduction to Computer Programming SEMESTER:
More informationShell script. Shell Scripts. A shell script contains a sequence of commands in a text file. Shell is an command language interpreter.
Shell Scripts A shell script contains a sequence of commands in a text file. Shell is an command language interpreter. Shell executes commands read from a file. Shell is a powerful programming available
More informationCourse Outline Introduction to C-Programming
ECE3411 Fall 2015 Lecture 1a. Course Outline Introduction to C-Programming Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: {vandijk,
More informationThere are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals:
Numeric Types There are four numeric types: 1. Integers, represented as a 32 bit (or longer) quantity. Digits sequences (possibly) signed are integer literals: 1-123 +456 2. Long integers, of unlimited
More informationChapter 12 Variables and Operators
Chapter 12 Variables and Operators Highlights (1) r. height width operator area = 3.14 * r *r + width * height literal/constant variable expression (assignment) statement 12-2 Highlights (2) r. height
More informationDigital Fundamentals. CHAPTER 2 Number Systems, Operations, and Codes
Digital Fundamentals CHAPTER 2 Number Systems, Operations, and Codes Decimal Numbers The decimal number system has ten digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 The decimal numbering system has a base of
More informationLinux Shell Scripting. Linux System Administration COMP2018 Summer 2017
Linux Shell Scripting Linux System Administration COMP2018 Summer 2017 What is Scripting? Commands can be given to a computer by entering them into a command interpreter program, commonly called a shell
More informationTitle:[ Variables Comparison Operators If Else Statements ]
[Color Codes] Environmental Variables: PATH What is path? PATH=$PATH:/MyFolder/YourStuff?Scripts ENV HOME PWD SHELL PS1 EDITOR Showing default text editor #!/bin/bash a=375 hello=$a #No space permitted
More informationDept. of CSE, IIT KGP
Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of
More informationNumber Systems and Binary Arithmetic. Quantitative Analysis II Professor Bob Orr
Number Systems and Binary Arithmetic Quantitative Analysis II Professor Bob Orr Introduction to Numbering Systems We are all familiar with the decimal number system (Base 10). Some other number systems
More informationAppendix. Bit Operators
Appendix C Bit Operations C++ operates with data entities, such as character, integer, and double-precision constants and variables, that can be stored as 1 or more bytes. In addition, C++ provides for
More informationProgramming I Lecture 7
. Definition: An integer is a number without a fractional part. The set of integers is the union of the set of whole numbers and the set of negative counting numbers... Integers and whole numbers. C++
More informationChapter 12 Variables and Operators
Basic C Elements Chapter 12 Variables and Operators Original slides from Gregory Byrd, North Carolina State University! Variables named, typed data items! Operators predefined actions performed on data
More informationC - Basics, Bitwise Operator. Zhaoguo Wang
C - Basics, Bitwise Operator Zhaoguo Wang Java is the best language!!! NO! C is the best!!!! Languages C Java Python 1972 1995 2000 (2.0) Procedure Object oriented Procedure & object oriented Compiled
More informationConfiguring IPv4 Addresses
This chapter contains information about, and instructions for configuring IPv4 addresses on interfaces that are part of a networking device. Note All further references to IPv4 addresses in this document
More informationMidterm Exam Review Slides
Midterm Exam Review Slides Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Review Topics Number Representation Base Conversion
More informationCSCI 2212: Intermediate Programming / C Chapter 15
... /34 CSCI 222: Intermediate Programming / C Chapter 5 Alice E. Fischer October 9 and 2, 25 ... 2/34 Outline Integer Representations Binary Integers Integer Types Bit Operations Applying Bit Operations
More informationCSCI 211 UNIX Lab. Shell Programming. Dr. Jiang Li. Jiang Li, Ph.D. Department of Computer Science
CSCI 211 UNIX Lab Shell Programming Dr. Jiang Li Why Shell Scripting Saves a lot of typing A shell script can run many commands at once A shell script can repeatedly run commands Help avoid mistakes Once
More informationChapter 4 Reading Organizer
Name Date Chapter 4 Reading Organizer After completion of this chapter, you should be able to: 4.1 Analyze the features and benefits of a hierarchical IP addressing structure. Plan and implement a VLSM
More informationCS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm
CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm Instructions: Show your work. Correct answers with no work will not receive full credit. Whether
More information2.1. Unit 2. Integer Operations (Arithmetic, Overflow, Bitwise Logic, Shifting)
2.1 Unit 2 Integer Operations (Arithmetic, Overflow, Bitwise Logic, Shifting) 2.2 Skills & Outcomes You should know and be able to apply the following skills with confidence Perform addition & subtraction
More informationShell scripting and system variables. HORT Lecture 5 Instructor: Kranthi Varala
Shell scripting and system variables HORT 59000 Lecture 5 Instructor: Kranthi Varala Text editors Programs built to assist creation and manipulation of text files, typically scripts. nano : easy-to-learn,
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 3 Constants, Variables, Data Types, And Operations Department of Computer Engineering
More informationNetworking for the Cloud DBA. Arup Nanda Longtime Oracle DBA And Explorer of New Things
Networking for the Cloud DBA Arup Nanda Longtime Oracle DBA And Explorer of New Things Most Important Skill for a Cloud DBA 2 Netmask 3 Broadcast Address 4 Network ID IP Address 5 Most Important Skill
More informationNumber Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:
N Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as: a n a a a The value of this number is given by: = a n Ka a a a a a
More informationTime: 8:30-10:00 pm (Arrive at 8:15 pm) Location What to bring:
ECE 120 Midterm 1 HKN Review Session Time: 8:30-10:00 pm (Arrive at 8:15 pm) Location: Your Room on Compass What to bring: icard, pens/pencils, Cheat sheet (Handwritten) Overview of Review Binary IEEE
More informationExtended Introduction to Computer Science CS1001.py. Lecture 5 Part A: Integer Representation (in Binary and other bases)
Extended Introduction to Computer Science CS1001.py Lecture 5 Part A: Integer Representation (in Binary and other bases) Instructors: Daniel Deutch, Amir Rubinstein Teaching Assistants: Michal Kleinbort,
More informationUNIT- 3 Introduction to C++
UNIT- 3 Introduction to C++ C++ Character Sets: Letters A-Z, a-z Digits 0-9 Special Symbols Space + - * / ^ \ ( ) [ ] =!= . $, ; : %! &? _ # = @ White Spaces Blank spaces, horizontal tab, carriage
More informationN.B. These pastpapers may rely on the knowledge gained from the previous chapters.
N.B. These pastpapers may rely on the knowledge gained from the previous chapters. 1 SEC 95-PAPER 1-Q5 (a) A computer uses 8-bit two s complement numbers. In the space below fill in the largest positive
More informationComputer Organization & Systems Exam I Example Questions
Computer Organization & Systems Exam I Example Questions 1. Pointer Question. Write a function char *circle(char *str) that receives a character pointer (which points to an array that is in standard C
More informationChapter Motivation For Internetworking
Chapter 17-20 Internetworking Part 1 (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution 1 Motivation For Internetworking LANs Low cost Limited distance WANs High cost Unlimited distance
More informationIP Addressing and Subnetting NETWORK INFRASTRUCTURES NETKIT - LECTURE 2 MANUEL CAMPO, MARCO SPAZIANI
IP Addressing and Subnetting NETWORK INFRASTRUCTURES NETKIT - LECTURE 2 MANUEL CAMPO, MARCO SPAZIANI TCP/IP Model TCP/IP does not use all of the OSI layers, though the layers are equivalent in operation
More informationUNIX Shell Programming
$!... 5:13 $$ and $!... 5:13.profile File... 7:4 /etc/bashrc... 10:13 /etc/profile... 10:12 /etc/profile File... 7:5 ~/.bash_login... 10:15 ~/.bash_logout... 10:18 ~/.bash_profile... 10:14 ~/.bashrc...
More informationBash scripting Tutorial. Hello World Bash Shell Script. Super User Programming & Scripting 22 March 2013
Bash scripting Tutorial Super User Programming & Scripting 22 March 2013 Hello World Bash Shell Script First you need to find out where is your bash interpreter located. Enter the following into your command
More informationThese are reserved words of the C language. For example int, float, if, else, for, while etc.
Tokens in C Keywords These are reserved words of the C language. For example int, float, if, else, for, while etc. Identifiers An Identifier is a sequence of letters and digits, but must start with a letter.
More informationCS401 - Computer Architecture and Assembly Language Programming Glossary By
CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.
More informationMicroprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)
Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Learning any imperative programming language involves mastering a number of common concepts: Variables: declaration/definition
More informationLecture #10 - Interactive Korn Shell (Chapter 11)
CS390 UNIX Programming Spring 2009 Page 1 Lecture #10 - Interactive Korn Shell (Chapter 11) Background Usually ksh Programming interface is a superset of Bourne shell Adopted many of the features from
More informationIntroduction to TCP/IP
Introduction to TCP/IP Properties and characteristics of TCP/IP IPv4 IPv6 Public vs private vs APIPA/link local Static vs dynamic Client-side DNS settings Client-side DHCP Subnet mask vs CIDR Gateway TCP/IP
More informationCS 25200: Systems Programming. Lecture 10: Shell Scripting in Bash
CS 25200: Systems Programming Lecture 10: Shell Scripting in Bash Dr. Jef Turkstra 2018 Dr. Jeffrey A. Turkstra 1 Lecture 10 Getting started with Bash Data types Reading and writing Control loops Decision
More informationArithmetic Operators. Portability: Printing Numbers
Arithmetic Operators Normal binary arithmetic operators: + - * / Modulus or remainder operator: % x%y is the remainder when x is divided by y well defined only when x > 0 and y > 0 Unary operators: - +
More informationVariables and literals
Demo lecture slides Although I will not usually give slides for demo lectures, the first two demo lectures involve practice with things which you should really know from G51PRG Since I covered much of
More informationBrief Notes on Networks
IP ADDRESS "IP" stands for Internet Protocol, so an IP address is an Internet Protocol address. What does that mean? An Internet Protocol is a set of rules that govern Internet activity and facilitate
More informationPHPoC vs PHP > Overview. Overview
PHPoC vs PHP > Overview Overview PHPoC is a programming language that Sollae Systems has developed. All of our PHPoC products have PHPoC interpreter in firmware. PHPoC is based on a wide use script language
More informationBits and Bytes. Bit Operators in C/C++
Bits and Bytes The byte is generally the smallest item of storage that is directly accessible in modern computers, and symbiotically the byte is the smallest item of storage used by modern programming
More informationComputer System and programming in C
1 Basic Data Types Integral Types Integers are stored in various sizes. They can be signed or unsigned. Example Suppose an integer is represented by a byte (8 bits). Leftmost bit is sign bit. If the sign
More informationCS313D: ADVANCED PROGRAMMING LANGUAGE
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 2 : C# Language Basics Lecture Contents 2 The C# language First program Variables and constants Input/output Expressions and casting
More informationCS 261 Fall Binary Information (convert to hex) Mike Lam, Professor
CS 261 Fall 2018 Mike Lam, Professor 3735928559 (convert to hex) Binary Information Binary information Topics Base conversions (bin/dec/hex) Data sizes Byte ordering Character and program encodings Bitwise
More informationBash scripting basics
Bash scripting basics prepared by Anatoliy Antonov for ESSReS community September 2012 1 Outline Definitions Foundations Flow control References and exercises 2 Definitions 3 Definitions Script - [small]
More information